|  |  |  | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | import javax.transaction.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.ld.igds.inout.InoutConstant; | 
|---|
|  |  |  | import com.ld.igds.inout.dto.InoutData; | 
|---|
|  |  |  | import com.ld.igds.inout.dto.InoutParam; | 
|---|
|  |  |  | 
|---|
|  |  |  | data.setUpdateTime(new Date()); | 
|---|
|  |  |  | data.setUpdateUser(ContextUtil.getLoginUserCName()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InoutData inoutData = inoutService.getLastRecord(ContextUtil.getCompanyId(), data.getDepotId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InoutParam param = new InoutParam(); | 
|---|
|  |  |  | param.setCompanyId(ContextUtil.getCompanyId()); | 
|---|
|  |  |  | param.setDepotId(data.getDepotId()); | 
|---|
|  |  |  | param.setProgress(InoutConstant.PROGRESS_RECORD); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InoutData inoutData = inoutService.getLastRecord(param); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (null != inoutData && null != inoutData.getCompleteTime() && | 
|---|
|  |  |  | data.getSubmitTime().before(inoutData.getCompleteTime())) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取提交时间日期的01:00:00时间 | 
|---|
|  |  |  | Date curDate = DateUtil.getCurZero(data.getSubmitTime()); | 
|---|
|  |  |  | curDate = DateUtils.addHours(curDate,1); | 
|---|
|  |  |  | curDate = DateUtils.addHours(curDate, 1); | 
|---|
|  |  |  | //如果完成时间在curDate之前,则将完成时间设为当前天的01:00:00 | 
|---|
|  |  |  | if(data.getSubmitTime().before(curDate)){ | 
|---|
|  |  |  | if (data.getSubmitTime().before(curDate)) { | 
|---|
|  |  |  | data.setSubmitTime(curDate); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private String addInoutDataByLossOver(InoutLossOver lossOver){ | 
|---|
|  |  |  | if (null == lossOver.getSubmitTime()) { | 
|---|
|  |  |  | lossOver.setSubmitTime(new Date()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InoutData data = new InoutData(); | 
|---|
|  |  |  | data.setRecordStatus(InoutConstant.RECORD_STATUS_ADD); | 
|---|
|  |  |  | data.setProgress(InoutConstant.PROGRESS_RECORD); | 
|---|
|  |  |  | data.setType(lossOver.getType()); | 
|---|
|  |  |  | data.setSettleWeight(lossOver.getAmount()); | 
|---|
|  |  |  | data.setDepotId(lossOver.getDepotId()); | 
|---|
|  |  |  | data.setDeptId(lossOver.getDeptId()); | 
|---|
|  |  |  | data.setCompanyId(lossOver.getCompanyId()); | 
|---|
|  |  |  | //data.setFoodVariety(lossOver.getFoodVariety()); | 
|---|
|  |  |  | data.setCheckStatus(InoutConstant.STATUS_PASS); | 
|---|
|  |  |  | private String addInoutDataByLossOver(InoutLossOver lossOver) { | 
|---|
|  |  |  | if (null == lossOver.getSubmitTime()) { | 
|---|
|  |  |  | lossOver.setSubmitTime(new Date()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String loginUser = lossOver.getUpdateUser(); | 
|---|
|  |  |  | data.setRegisterUser(loginUser); | 
|---|
|  |  |  | data.setFullWeightUser(loginUser); | 
|---|
|  |  |  | data.setEmptyWeightUser(loginUser); | 
|---|
|  |  |  | data.setHandleUser(loginUser); | 
|---|
|  |  |  | data.setCompleteUser(loginUser); | 
|---|
|  |  |  | data.setCompleteTime(lossOver.getSubmitTime()); | 
|---|
|  |  |  | data.setRegisterTime(data.getCompleteTime()); | 
|---|
|  |  |  | data.setFullWeightTime(data.getCompleteTime()); | 
|---|
|  |  |  | data.setEmptyWeightTime(data.getCompleteTime()); | 
|---|
|  |  |  | if (StringUtils.isEmpty(data.getUserId())) { | 
|---|
|  |  |  | data.setUserId(InoutConstant.DEFAULT_ID_CARD); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return inoutService.addInoutDataByLossOver(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | InoutData data = new InoutData(); | 
|---|
|  |  |  | data.setRecordStatus(InoutConstant.RECORD_STATUS_ADD); | 
|---|
|  |  |  | data.setProgress(InoutConstant.PROGRESS_RECORD); | 
|---|
|  |  |  | data.setType(lossOver.getType()); | 
|---|
|  |  |  | data.setSettleWeight(lossOver.getAmount()); | 
|---|
|  |  |  | data.setDepotId(lossOver.getDepotId()); | 
|---|
|  |  |  | data.setDeptId(lossOver.getDeptId()); | 
|---|
|  |  |  | data.setCompanyId(lossOver.getCompanyId()); | 
|---|
|  |  |  | //data.setFoodVariety(lossOver.getFoodVariety()); | 
|---|
|  |  |  | data.setCheckStatus(InoutConstant.STATUS_PASS); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional(rollbackOn = Exception.class) | 
|---|
|  |  |  | String loginUser = lossOver.getUpdateUser(); | 
|---|
|  |  |  | data.setRegisterUser(loginUser); | 
|---|
|  |  |  | data.setFullWeightUser(loginUser); | 
|---|
|  |  |  | data.setEmptyWeightUser(loginUser); | 
|---|
|  |  |  | data.setHandleUser(loginUser); | 
|---|
|  |  |  | data.setCompleteUser(loginUser); | 
|---|
|  |  |  | data.setCompleteTime(lossOver.getSubmitTime()); | 
|---|
|  |  |  | data.setRegisterTime(data.getCompleteTime()); | 
|---|
|  |  |  | data.setFullWeightTime(data.getCompleteTime()); | 
|---|
|  |  |  | data.setEmptyWeightTime(data.getCompleteTime()); | 
|---|
|  |  |  | if (StringUtils.isEmpty(data.getUserId())) { | 
|---|
|  |  |  | data.setUserId(InoutConstant.DEFAULT_ID_CARD); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return inoutService.addInoutDataByLossOver(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional(rollbackOn = Exception.class) | 
|---|
|  |  |  | public String delData(InoutLossOver data) throws Exception { | 
|---|
|  |  |  | Session session = this.getSessionFactory().openSession(); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if (null != data.getId()) { | 
|---|
|  |  |  | this.delInoutDataByLossOver(data); | 
|---|
|  |  |  | this.delInoutDataByLossOver(data); | 
|---|
|  |  |  | session.delete(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void delInoutDataByLossOver(InoutLossOver lossOver) { | 
|---|
|  |  |  | InoutParam param = new InoutParam(); | 
|---|
|  |  |  | param.setCompanyId(lossOver.getCompanyId()); | 
|---|
|  |  |  | param.setId(lossOver.getId()); | 
|---|
|  |  |  | param.setProgress(InoutConstant.PROGRESS_RECORD); | 
|---|
|  |  |  | param.setRecordStatus(InoutConstant.RECORD_STATUS_DEL); | 
|---|
|  |  |  | param.setMsg(" [" + ContextUtil.getLoginUserCName() + "]执行删除"); | 
|---|
|  |  |  | param.setType(lossOver.getType()); | 
|---|
|  |  |  | param.setDepotId(lossOver.getDepotId()); | 
|---|
|  |  |  | param.setWeight(lossOver.getAmount()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | inoutService.delInoutDataByLossOver(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private void delInoutDataByLossOver(InoutLossOver lossOver) { | 
|---|
|  |  |  | InoutParam param = new InoutParam(); | 
|---|
|  |  |  | param.setCompanyId(lossOver.getCompanyId()); | 
|---|
|  |  |  | param.setId(lossOver.getId()); | 
|---|
|  |  |  | param.setProgress(InoutConstant.PROGRESS_RECORD); | 
|---|
|  |  |  | param.setRecordStatus(InoutConstant.RECORD_STATUS_DEL); | 
|---|
|  |  |  | param.setMsg(" [" + ContextUtil.getLoginUserCName() + "]执行删除"); | 
|---|
|  |  |  | param.setType(lossOver.getType()); | 
|---|
|  |  |  | param.setDepotId(lossOver.getDepotId()); | 
|---|
|  |  |  | param.setWeight(lossOver.getAmount()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | inoutService.delInoutDataByLossOver(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|