瀏覽代碼

手动加车

zhangyuewww 3 年之前
父節點
當前提交
d379cf43a2

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseInOutInfo.java

@@ -423,6 +423,11 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
      */
     @TableField(exist = false)
     private String receiveWarehouse;
+    /**
+     * 自运加车标识
+     */
+    @TableField(exist = false)
+    private String selfLoading;
 
     @TableField(exist = false)
     private ContractManagementInfo contractManagementInfo;

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -36,6 +36,7 @@ public enum YExceptionEnum {
 	CONTRACT_NO_NOT_EXSITS_ERROR("ERROR", "合同编号不存在!"),
 	TASK_NO_NOT_EXSITS_ERROR("ERROR", "移库任务编号不存在!"),
 	TASK_WEIGHT_EXCEEDED_ERROR("ERROR-001", "超出任务重量无法操作成功!"),
+	TRANTASK_NOT_CREATED_ERROR("ERROR-002", "内勤尚未创建运输任务!"),
 	;
 	@Getter
 	private String value;

+ 129 - 18
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -39,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
+import java.sql.Timestamp;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -1198,8 +1199,39 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                         stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
                                         stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
                                     }
+                                    //自运出库时手动加的车
+                                    if("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                                        List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                                .eq("contract_no", contractManagementInfo1.getContractNo()).eq("tran_type", "1"));
+                                        TranCarInfo tranCarInfo=new TranCarInfo();
+                                        tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                        tranCarInfo.setInfoId(tranTaskInfo.getId());
+                                        tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                                        tranCarInfo.setTranType("1");
+                                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                        String tranCarNo="";
+                                        if ((tranCarInfoList.size()+1)<10){
+                                            tranCarNo="C00"+(tranCarInfoList.size()+1);
+                                        }
+                                        else if(tranCarInfoList.size()+1<100){
+                                            tranCarNo="C0"+(tranCarInfoList.size()+1);
+                                        }
+                                        else {
+                                            tranCarNo="C"+(tranCarInfoList.size()+1);
+                                        }
+                                        tranCarInfo.setTranCarNo(tranCarNo);
+                                        tranCarInfo.setId(IdGenerator.generateUUID());
+                                        tranCarInfo.setContractNo(contractManagementInfo1.getContractNo());
+                                        tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                                        tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                                        warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                                        tranCarInfoService.insert(tranCarInfo);
+                                    }
                                 }
                             }
+                            else{
+                                throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                            }
                             stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
                             stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
                             stockSaleReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
@@ -1223,24 +1255,54 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
                             stockSaleReceiptReportService.insert(stockSaleReceiptReport);
                         }
-//                        TranCarInfo tranCarInfo = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
-//                        if (tranCarInfo != null) {
-//                            //将发货数据同步到派车表
-//                            tranCarInfo.setLoadNetWeight(warehouseInOutInfo.getNetWeight());
-//                            if (warehouseInOutInfo.getAddressUrl()!=null) {
-//                                tranCarInfo.setLoadPoundImg(warehouseInOutInfo.getAddressUrl());
-//                            }
-//                            tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
-//                            tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
-//                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
-//                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
-//                            if ("1".equals(tranCarInfo.getSubmit())) {
-//                                throw new YException(YExceptionEnum.CARNO_SUBMITTED_ERROR);
-//                            } else {
-//                                tranCarInfo.setSubmit("1");
-//                            }
-//                            tranCarInfoService.updateById(tranCarInfo);
-//                        }
+                    }
+                    //常用库移库出库类型
+                    if ("移库出库".equals(warehouseInOutInfo.getInOutType())) {
+                        InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                                .eq("move_task_no", warehouseInOutInfo.getContractNo())
+                                .eq("in_out_flag", "1")
+                                .eq("delete_flag", "0"));
+                        if (inOutWarehouseTask!=null){
+                            //自运出库时手动加的车
+                            if("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                                List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                        .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
+                                        .orderBy("create_date",false));
+                                TranCarInfo tranCarInfo=new TranCarInfo();
+                                TranTaskInfo tranTaskInfo=tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("comp_id",warehouseBaseInfo.getCompId())
+                                    .eq("contract_no",warehouseInOutInfo.getContractNo()));
+                                if (tranTaskInfo!=null){
+                                    TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                            .eq("info_id",tranTaskInfo.getId()));
+                                    tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                    tranCarInfo.setInfoId(tranTaskInfo.getId());
+                                }
+                                else {
+                                    throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                                }
+                                tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                                tranCarInfo.setTranType("1");
+                                tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                                String tranCarNo="";
+                                if ((tranCarInfoList.size()+1)<10){
+                                    tranCarNo="C00"+(tranCarInfoList.size()+1);
+                                }
+                                else if(tranCarInfoList.size()+1<100){
+                                    tranCarNo="C0"+(tranCarInfoList.size()+1);
+                                }
+                                else {
+                                    tranCarNo="C"+(tranCarInfoList.size()+1);
+                                }
+                                tranCarInfo.setTranCarNo(tranCarNo);
+                                tranCarInfo.setId(IdGenerator.generateUUID());
+                                tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                                tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                                tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                                warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                                tranCarInfoService.insert(tranCarInfo);
+                            }
+                        }
                     }
                     TranCarInfo tranCarInfo = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
                     if (tranCarInfo != null) {
@@ -1522,6 +1584,55 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             tranCarInfoService.updateById(tranCarInfo);
                         }
                     }
+                    Wrapper<InOutWarehouseTask> inOutWarehouseTaskWrapper = new EntityWrapper<>();
+                    inOutWarehouseTaskWrapper.eq("in_out_flag", "1").eq("delete_flag", "0");
+                    inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo());
+                    InOutWarehouseTask inOutWarehouseTask = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
+                    if (inOutWarehouseTask!=null){
+                        //自运出库时手动加的车
+                        if("1".equals(warehouseInOutInfo.getSelfLoading())) {
+                            List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                    .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
+                                    .orderBy("create_date",false));
+                            TranCarInfo tranCarInfo=new TranCarInfo();
+                            TranTaskInfo tranTaskInfo=tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("comp_id",warehouseBaseInfo.getCompId())
+                                    .eq("contract_no",warehouseInOutInfo.getContractNo()));
+                            if (tranTaskInfo!=null){
+                                TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                        .eq("info_id",tranTaskInfo.getId()));
+                                tranCarInfo.setProcessId(tranProcessInfo.getId());
+                                tranCarInfo.setInfoId(tranTaskInfo.getId());
+                            }
+                            else {
+                                throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                            }
+                            tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                            tranCarInfo.setTranType("1");
+                            tranCarInfo.setSubmit("1");
+                            tranCarInfo.setLoadNetWeight(warehouseInOutInfo.getNetWeight());
+                            tranCarInfo.setLoadingDate(new Date());
+                            tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                            String tranCarNo="";
+                            if ((tranCarInfoList.size()+1)<10){
+                                tranCarNo="C00"+(tranCarInfoList.size()+1);
+                            }
+                            else if(tranCarInfoList.size()+1<100){
+                                tranCarNo="C0"+(tranCarInfoList.size()+1);
+                            }
+                            else {
+                                tranCarNo="C"+(tranCarInfoList.size()+1);
+                            }
+                            tranCarInfo.setTranCarNo(tranCarNo);
+                            tranCarInfo.setId(IdGenerator.generateUUID());
+                            tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                            tranCarInfoService.insert(tranCarInfo);
+                        }
+                    }
                     if (warehouseBaseInfo != null) {
                         //出库时打入成本
                         CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())