package com.landy.gum.out.service.impl;
|
|
import java.util.List;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.landy.framework.core.exception.ApplicationException;
|
import com.landy.framework.core.service.impl.BaseManagerImpl;
|
import com.landy.framework.core.support.CommonQuery;
|
import com.landy.framework.core.support.Condition;
|
import com.landy.gum.out.model.OutQinglingDetailModel;
|
import com.landy.gum.out.model.OutQinglingModel;
|
import com.landy.gum.out.service.OutQinglingManager;
|
import com.landy.gum.out.service.OutQinglingProcessManager;
|
import com.landy.gum.out.update.ClearOuqdIsProcessUpdateCondition;
|
import com.landy.gum.out.update.ClearOuqpStateUpdateCondition;
|
import com.landy.gum.out.update.OuqpAuthorUpdateCondition;
|
import com.landy.gum.session.SessionContextUserEntity;
|
import com.landy.gum.tools.DateUtil;
|
|
@Service
|
public class OutQinglingProcessManagerImpl extends BaseManagerImpl implements
|
OutQinglingProcessManager {
|
|
@Autowired
|
private OutQinglingManager qinglingManager;
|
|
/**
|
* @author lp
|
* @desc 处理某个时间段内的配货人
|
* @param bbprIds
|
* @param processDate
|
* @param ouqpAuthor
|
*/
|
public void updateOuqpAuthor(String[] bbprIds, String processDate,
|
String ouqpAuthor) {
|
//修改相符合的 out_qingling_process的 ouqp_author
|
OuqpAuthorUpdateCondition condition=new OuqpAuthorUpdateCondition();
|
condition.setBbprIds(bbprIds);
|
condition.setLocationid(SessionContextUserEntity.getCurrentUser().getLocationid());
|
condition.setOuqpAuthor(ouqpAuthor);
|
condition.setOuqdDate(DateUtil.String2Date("yyyy-MM-dd hh:mm:ss", processDate));
|
this.dao.update(condition);
|
|
}
|
|
|
/**
|
* @author lp
|
* @desc 清空请领单的日期及配送人,之后可以继续配送
|
* @param ouqdIds
|
* @param flag: 接收1 / 清空2
|
*/
|
public void clearOuqpProcess(String[] ouqdIds,String flag) {
|
|
CommonQuery<OutQinglingDetailModel> commonQuery = this.dao.createCommonQuery(OutQinglingDetailModel.class);
|
commonQuery.addCondition(Condition.in("ouqdId", ouqdIds));
|
|
|
List<OutQinglingDetailModel> items = commonQuery.query();
|
OutQinglingDetailModel ouqd=null;
|
OutQinglingModel qingling=null;
|
//验证是否可以清空
|
for(int i=0;i<items.size();i++){
|
ouqd=items.get(i);
|
if(ouqd==null)continue;
|
|
if("完成".equals(ouqd.getOuqdState()) || (ouqd.getOuqdSendSize()>=ouqd.getOuqdSize())){
|
qingling=qinglingManager.get(ouqd.getOuqdOuqlId());
|
throw new ApplicationException(qingling.getOuqlOrg()+"的请领单"+"【"+qingling.getOuqlSn()+"】已经配送完毕,无法再清空");
|
}
|
}
|
|
//清空out_qingling_process 的ouqp_state
|
ClearOuqpStateUpdateCondition con1=new ClearOuqpStateUpdateCondition();
|
con1.setLocationid(SessionContextUserEntity.getCurrentUser().getLocationid());
|
con1.setOuqdIds(ouqdIds);
|
con1.setOuqdState(flag);
|
this.dao.update(con1);
|
//清空 out_qingling_detail 的ouqd_is_process
|
|
|
ClearOuqdIsProcessUpdateCondition con2=new ClearOuqdIsProcessUpdateCondition();
|
con2.setLocationid(SessionContextUserEntity.getCurrentUser().getLocationid());
|
con2.setOuqdIds(ouqdIds);
|
this.dao.update(con2);
|
|
}
|
|
}
|