zhangyuewww 3 tahun lalu
induk
melakukan
624155f594

+ 13 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousingOrderController.java

@@ -34,12 +34,22 @@ public class WarehousingOrderController {
 
     /**
      * 退库货源列表
-     * @param contractNo,moveTaskNo
+     * @param warehousingOrder
      * @return
      */
     @GetMapping("/getSourceOfGoodsList")
-    public List<SourceRelationInfo> getReturnSourceList(String compId, String contractNo, String moveTaskNo){
-        return warehousingOrderService.getReturnSourceList(compId,contractNo,moveTaskNo);
+    public List<SourceRelationInfo> getReturnSourceList(WarehousingOrder warehousingOrder){
+        return warehousingOrderService.getReturnSourceList(warehousingOrder);
+    }
+    /**
+     * 出库货源列表
+     *
+     * @param warehousingOrder
+     * @return
+     */
+    @GetMapping("/selectGoodSourceInfo")
+    public Page<WarehousingOrder> selectGoodSourceInfo(WarehousingOrder warehousingOrder) {
+        return warehousingOrderService.selectGoodSourceInfo(warehousingOrder);
     }
     /**
      * 入库单列表查询

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

@@ -418,6 +418,11 @@ public class WeighingManagement extends BaseModel<WeighingManagement> {
      */
     @TableField(exist = false)
     private String changePositionId;
+    /**
+     * 自运加车标识
+     */
+    @TableField(exist = false)
+    private String selfLoading;
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 29 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehousingOrderMapper.java

@@ -30,5 +30,34 @@ public interface WarehousingOrderMapper extends BaseMapper<WarehousingOrder> {
      * @return
      */
     List<WarehousingOrder> getListByCondition(Map<String, Object> pageView);
+    /**
+     * 收购入库单
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehousingOrder> getAcquisitionListByCondition(Map<String, Object> pageView);
+    /**
+     * 采购入库单
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehousingOrder> getPurchaseListByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件查询货源总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getGoodSourceCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询货源列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehousingOrder> getGoodSourceListByCondition(Map<String, Object> pageView);
 
 }

+ 9 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousingOrderService.java

@@ -23,9 +23,9 @@ public interface IWarehousingOrderService extends IService<WarehousingOrder> {
 
     /**
      * 退库货源列表
-     * @param contractNo,moveTaskNo
+     * @param warehousingOrder
      */
-    List<SourceRelationInfo> getReturnSourceList(String compId, String contractNo, String moveTaskNo);
+    List<SourceRelationInfo> getReturnSourceList(WarehousingOrder warehousingOrder);
 
     /**
      * 信息分页列表查询
@@ -60,5 +60,12 @@ public interface IWarehousingOrderService extends IService<WarehousingOrder> {
      * @throws Exception
      */
     WarehousingOrder exportPhoneData(WarehousingOrder warehousingOrder);
+    /**
+     * 出库货源列表
+     *
+     * @param warehousingOrder
+     * @return
+     */
+    Page<WarehousingOrder> selectGoodSourceInfo(WarehousingOrder warehousingOrder);
 
 }

+ 198 - 125
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousingOrderServiceImpl.java

@@ -98,10 +98,6 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
     @Value("${oss.bucket.name:}")
     private String bucket;
     @Autowired
-    private IIdentityAuthenticationInfoService identityAuthenticationInfoService;
-    @Autowired
-    private IQualityInspectionManagementService qualityInspectionManagementService;
-    @Autowired
     private ICommonBillOperateHisService billOperateHisService;
     @Autowired
     private IExpenseAllocationInfoService expenseAllocationInfoService;
@@ -110,18 +106,18 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
 
     /**
      * 退库货源列表
-     * @param contractNo
+     * @param warehousingOrder
      */
     @Override
-    public List<SourceRelationInfo> getReturnSourceList(String compId,String contractNo,String moveTaskNo) {
+    public List<SourceRelationInfo> getReturnSourceList(WarehousingOrder warehousingOrder) {
         List<SourceRelationInfo> sourceRelationInfoList=new ArrayList<>();
         Wrapper<WarehouseInOutInfo> warehouseInOutInfoWrapper = new EntityWrapper<>();
         warehouseInOutInfoWrapper.eq("status_flag", "3").eq("delete_flag", "0").eq("return_tick_flag", "0");
-        if (!StringUtils.isEmpty(contractNo)) {
-            warehouseInOutInfoWrapper.eq("contract_no", contractNo);
+        if (!StringUtils.isEmpty(warehousingOrder.getContractNo())) {
+            warehouseInOutInfoWrapper.eq("contract_no", warehousingOrder.getContractNo());
         }
-        if (!StringUtils.isEmpty(moveTaskNo)) {
-            warehouseInOutInfoWrapper.eq("in_out_task_no", moveTaskNo);
+        if (!StringUtils.isEmpty(warehousingOrder.getMoveTaskNo())) {
+            warehouseInOutInfoWrapper.eq("in_out_task_no", warehousingOrder.getMoveTaskNo());
         }
         List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(warehouseInOutInfoWrapper);
         if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
@@ -135,7 +131,7 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                 String goodsSource="";
                 InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
                 .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo())
-                .eq("comp_id",compId));
+                .eq("comp_id",warehousingOrder.getCompId()));
                 if (inOutWarehouseTask!=null) {
                     List<SourceRelationInfo> sourceRelationInfoList1 = sourceRelationInfoService.selectList(new EntityWrapper<SourceRelationInfo>()
                             .eq("task_id", inOutWarehouseTask.getId())
@@ -158,44 +154,54 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
         Map<String, Object> pageView = new HashMap<>();
         pageView.put("startRecord", (warehousingOrder.getCurrentPage() - 1)
                 * warehousingOrder.getPageSize());
-        List<String> businessKeys = null;
-        if ("2".equals(warehousingOrder.getSearchType())) {
-            businessKeys = workflowService.getTaskBusinessKeysByCode("WAREHOUSING-ORDER-APPROVE");
-        }
-        List<String> statusSet = new ArrayList<>();
-        List<String> resourceIdList = this.getResourceIdList();
-        if (resourceIdList.contains("saleOutReport-Edit")) { // 填写,提交    权限做完以后替换
-            List<String> statusList = Lists.newArrayList(StatusEnum.PUR_RETURN.getFlag());
-            statusSet.addAll(statusList);
-        }
         pageView.put("searchKeyWord", warehousingOrder.getSearchKeyWord());
         pageView.put("searchType", warehousingOrder.getSearchType());
         pageView.put("pageSize", warehousingOrder.getPageSize());
         pageView.put("currentPage", warehousingOrder.getCurrentPage());
-        pageView.put("contractNo", warehousingOrder.getContractNo());
         pageView.put("startDate", warehousingOrder.getStartDate());
         pageView.put("endDate", warehousingOrder.getEndDate());
         pageView.put("baseId", warehousingOrder.getBaseId());
         pageView.put("flag", warehousingOrder.getFlag());
-        pageView.put("businessKeys", businessKeys);
-        pageView.put("statusSet", statusSet);
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         // 查询总数
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         List<WarehousingOrder> dataList = baseMapper.getListByCondition(pageView);
         if (!CollectionUtils.isEmpty(dataList)) {
             dataList.forEach(warehousingOrder1 -> {
-                List<ExpenseAllocationInfo> expenseAllocationInfos=expenseAllocationInfoService.selectList(new EntityWrapper<ExpenseAllocationInfo>()
-                .eq("order_id",warehousingOrder1.getId()));
-                if(!CollectionUtils.isEmpty(expenseAllocationInfos)){
-                    warehousingOrder1.setExpenseAllocationInfoList(expenseAllocationInfos);
+                Wrapper<WarehousingOrder> warehousingOrderWrapper = new EntityWrapper<>();
+                warehousingOrderWrapper.eq("comp_id", warehousingOrder1.getCompId())
+                        .eq("warehouse_name", warehousingOrder1.getWarehouseName())
+                        .like("issuing_time", dateFormat.format(warehousingOrder1.getIssuingTime()));
+                if (!StringUtils.isEmpty(warehousingOrder.getSearchKeyWord())) {
+                    warehousingOrderWrapper.like("goods_source", "%" + warehousingOrder.getSearchKeyWord() + "%");
+                }
+                if (!StringUtils.isEmpty(warehousingOrder.getSearchType())) {
+                    warehousingOrderWrapper.gt("amount_not_payable", 0);
+                }
+                if (!StringUtils.isEmpty(warehousingOrder.getFlag())) {
+                    if ("0".equals(warehousingOrder.getFlag())){
+                        warehousingOrderWrapper.gt("profit_and_loss", 0);
+                    }
+                    else {
+                        warehousingOrderWrapper.lt("profit_and_loss", 0);
+                    }
                 }
-                String taskId = "";
-                // 只有待审核状态才有taskId
-                if (StringUtils.isNotBlank(warehousingOrder1.getWorkflowId())) {
-                    JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(warehousingOrder1.getWorkflowId()), warehousingOrder1.getBatchId());
-                    taskId = jsonObject.getString("taskId");
-                    warehousingOrder1.setTaskId(taskId);
+                List<WarehousingOrder> warehousingOrderList=this.selectList(warehousingOrderWrapper);
+                for(WarehousingOrder warehousingOrder2:warehousingOrderList){
+                    List<ExpenseAllocationInfo> expenseAllocationInfos=expenseAllocationInfoService.selectList(new EntityWrapper<ExpenseAllocationInfo>()
+                            .eq("order_id",warehousingOrder2.getId()));
+                    if(!CollectionUtils.isEmpty(expenseAllocationInfos)){
+                        warehousingOrder2.setExpenseAllocationInfoList(expenseAllocationInfos);
+                    }
+                    String taskId = "";
+                    // 只有待审核状态才有taskId
+                    if (StringUtils.isNotBlank(warehousingOrder2.getWorkflowId())) {
+                        JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(warehousingOrder2.getWorkflowId()), warehousingOrder2.getBatchId());
+                        taskId = jsonObject.getString("taskId");
+                        warehousingOrder2.setTaskId(taskId);
+                    }
                 }
+                warehousingOrder1.setWarehousingOrderList(warehousingOrderList);
             });
 
         }
@@ -215,83 +221,149 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
      * 每天16.30点更新
      */
     @Transactional
-    @Scheduled(cron = "0 30 16 * * ?")
+    @Scheduled(cron = "0 31 09 * * ?")
     public String addInfo() {
         WarehousingOrder warehousingOrder = new WarehousingOrder();
         //当天零点
-        SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd 16:30:00");
+        SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd 09:31:00");
         Calendar c = Calendar.getInstance();
         c.setTime(new Date());
         c.add(Calendar.DATE, -1);
         String beforeDay=now.format(c.getTime());
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("beforeDay", beforeDay);
         //收购
-        List<PaymentManagement> paymentManagementList = paymentManagementService.selectList(new EntityWrapper<PaymentManagement>()
-                .ne("status", "待结算")
-                .ge("update_date", beforeDay));
-        if (!CollectionUtils.isEmpty(paymentManagementList)) {
-            for (PaymentManagement paymentManagement : paymentManagementList) {
+        List<WarehousingOrder> dataList = baseMapper.getAcquisitionListByCondition(pageView);
+        if (!CollectionUtils.isEmpty(dataList)){
+            for (WarehousingOrder warehousingOrder1:dataList) {
+                List<PaymentManagement> paymentManagementList = paymentManagementService.selectList(new EntityWrapper<PaymentManagement>()
+                        .eq("customer_name",warehousingOrder1.getGoodsSource())
+                        .eq("warehouse_name",warehousingOrder1.getWarehouseName())
+                        .eq("goods_name",warehousingOrder1.getGoodsName())
+                        .ne("status", "待结算")
+                        .ge("update_date", beforeDay));
                 warehousingOrder.setId(IdGenerator.generateUUID());
-                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
-                        .eq("comp_id", paymentManagement.getCompId())
-                        .eq("warehouse_name", paymentManagement.getWarehouseName()));
-                warehousingOrder.setBaseId(warehouseBaseInfo.getId());
-                IdentityAuthenticationInfo identityAuthenticationInfo = identityAuthenticationInfoService.selectOne(new EntityWrapper<IdentityAuthenticationInfo>()
-                        .eq("comp_id", paymentManagement.getCompId())
-                        .eq("customer_number_card", paymentManagement.getCustomerNumberCard()));
-                if(identityAuthenticationInfo!=null) {
-                    warehousingOrder.setIdentifyId(identityAuthenticationInfo.getId());
-                }
-                QualityInspectionManagement qualityInspectionManagement=qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
-                        .eq("relation_id", paymentManagement.getRelationId()));
-                warehousingOrder.setWarehouseInOutId(qualityInspectionManagement.getWarehouseInOutId());
-                warehousingOrder.setWarehouseName(paymentManagement.getWarehouseName());
-                warehousingOrder.setGoodsSource(paymentManagement.getCustomerName());
-                warehousingOrder.setCompId(paymentManagement.getCompId());
-                warehousingOrder.setCarNo(paymentManagement.getCarNo());
-                warehousingOrder.setGoodsName(paymentManagement.getGoodsName());
-                warehousingOrder.setInWarehouseWeight(paymentManagement.getNetWeight());
-                warehousingOrder.setSurplusWeight(paymentManagement.getNetWeight());
-                warehousingOrder.setAmountNotPayable(paymentManagement.getAmountIngPayable());
+                warehousingOrder.setBaseId(warehousingOrder1.getBaseId());
+                warehousingOrder.setIdentifyId(warehousingOrder1.getIdentifyId());
+                warehousingOrder.setWarehouseName(warehousingOrder1.getWarehouseName());
+                warehousingOrder.setGoodsSource(warehousingOrder1.getGoodsSource());
+                warehousingOrder.setCompId(warehousingOrder1.getCompId());
+                warehousingOrder.setGoodsName(warehousingOrder1.getGoodsName());
+                warehousingOrder.setInType("收购入库");
+                double weight = paymentManagementList.stream().mapToDouble(PaymentManagement::getNetWeight).sum();
+                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(weight)));
+                warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(weight)));
+                double money = paymentManagementList.stream().mapToDouble(PaymentManagement::getAmountIngPayable).sum();
+                warehousingOrder.setAmountNotPayable(money);
                 warehousingOrder.setAmountEdPayable(0d);
                 warehousingOrder.setIssuingTime(new Date());
-                warehousingOrder.setGrainFund(paymentManagement.getAmountIngPayable());
+                warehousingOrder.setGrainFund(money);
                 this.insert(warehousingOrder);
             }
         }
         //采购入库
-        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                .eq("status", "已提交")
-                .eq("in_out_type", "采购入库")
-                .ge("update_date", beforeDay));
-        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
-            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
+        List<WarehousingOrder> dataList1 = baseMapper.getPurchaseListByCondition(pageView);
+        if (!CollectionUtils.isEmpty(dataList1)){
+            for (WarehousingOrder warehousingOrder1:dataList1) {
+                List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                        .eq("status", "已提交")
+                        .eq("contract_no",warehousingOrder1.getContractNo())
+                        .eq("warehouse_name",warehousingOrder1.getWarehouseName())
+                        .eq("in_out_type", "采购入库")
+                        .ge("update_date", beforeDay));
                 warehousingOrder.setId(IdGenerator.generateUUID());
-                warehousingOrder.setBaseId(warehouseInOutInfo.getBaseId());
-                WarehouseBaseInfo warehouseBaseInfo=warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
-                warehousingOrder.setWarehouseInOutId(warehouseInOutInfo.getId());
-                if(warehouseInOutInfo.getPositionId()!=null){
-                    warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                warehousingOrder.setBaseId(warehousingOrder1.getBaseId());
+                warehousingOrder.setWarehouseName(warehousingOrder1.getWarehouseName());
+                warehousingOrder.setGoodsSource(warehousingOrder1.getContractNo());
+                warehousingOrder.setInType("采购入库");
+                warehousingOrder.setCompId(warehousingOrder1.getCompId());
+                warehousingOrder.setGoodsName(warehousingOrder1.getGoodsName());
+                warehousingOrder.setContractNo(warehousingOrder1.getContractNo());
+                double weight = warehouseInOutInfoList.stream().mapToDouble(WarehouseInOutInfo::getNetWeight).sum();
+                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(weight)));
+                Double money=0d;
+                for (WarehouseInOutInfo warehouseInOutInfo:warehouseInOutInfoList){
+                    money=money+warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight();
                 }
-                //区分采购合同产生的临时库
-                else {
-                    warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName()+"(临)");
-                }
-                warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
-                warehousingOrder.setGoodsSource(warehouseInOutInfo.getContractNo());
-                warehousingOrder.setCarNo(warehouseInOutInfo.getCarNo());
-                warehousingOrder.setInType(warehouseInOutInfo.getInOutType());
-                warehousingOrder.setCompId(warehouseBaseInfo.getCompId());
-                warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
-                warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
-                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-                warehousingOrder.setAmountNotPayable(warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight());
+                warehousingOrder.setAmountNotPayable(money);
+                //平均成本 货值总和除以总重量
+                warehousingOrder.setAvgCost(money/weight);
                 warehousingOrder.setAmountEdPayable(0d);
-                warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(weight)));
                 warehousingOrder.setIssuingTime(new Date());
-                warehousingOrder.setGrainFund(warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight());
+                warehousingOrder.setGrainFund(money);
                 this.insert(warehousingOrder);
             }
         }
+        //收购
+//        List<PaymentManagement> paymentManagementList = paymentManagementService.selectList(new EntityWrapper<PaymentManagement>()
+//                .ne("status", "待结算")
+//                .ge("update_date", beforeDay));
+//        if (!CollectionUtils.isEmpty(paymentManagementList)) {
+//            for (PaymentManagement paymentManagement : paymentManagementList) {
+//                warehousingOrder.setId(IdGenerator.generateUUID());
+//                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
+//                        .eq("comp_id", paymentManagement.getCompId())
+//                        .eq("warehouse_name", paymentManagement.getWarehouseName()));
+//                warehousingOrder.setBaseId(warehouseBaseInfo.getId());
+//                IdentityAuthenticationInfo identityAuthenticationInfo = identityAuthenticationInfoService.selectOne(new EntityWrapper<IdentityAuthenticationInfo>()
+//                        .eq("comp_id", paymentManagement.getCompId())
+//                        .eq("customer_number_card", paymentManagement.getCustomerNumberCard()));
+//                if(identityAuthenticationInfo!=null) {
+//                    warehousingOrder.setIdentifyId(identityAuthenticationInfo.getId());
+//                }
+//                QualityInspectionManagement qualityInspectionManagement=qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+//                        .eq("relation_id", paymentManagement.getRelationId()));
+//                warehousingOrder.setWarehouseInOutId(qualityInspectionManagement.getWarehouseInOutId());
+//                warehousingOrder.setWarehouseName(paymentManagement.getWarehouseName());
+//                warehousingOrder.setGoodsSource(paymentManagement.getCustomerName());
+//                warehousingOrder.setCompId(paymentManagement.getCompId());
+//                warehousingOrder.setCarNo(paymentManagement.getCarNo());
+//                warehousingOrder.setGoodsName(paymentManagement.getGoodsName());
+//                warehousingOrder.setInType("收购入库");
+//                warehousingOrder.setInWarehouseWeight(paymentManagement.getNetWeight());
+//                warehousingOrder.setSurplusWeight(paymentManagement.getNetWeight());
+//                warehousingOrder.setAmountNotPayable(paymentManagement.getAmountIngPayable());
+//                warehousingOrder.setAmountEdPayable(0d);
+//                warehousingOrder.setIssuingTime(new Date());
+//                warehousingOrder.setGrainFund(paymentManagement.getAmountIngPayable());
+//                this.insert(warehousingOrder);
+//            }
+//        }
+        //采购入库
+//        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+//                .eq("status", "已提交")
+//                .eq("in_out_type", "采购入库")
+//                .ge("update_date", beforeDay));
+//        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+//            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
+//                warehousingOrder.setId(IdGenerator.generateUUID());
+//                warehousingOrder.setBaseId(warehouseInOutInfo.getBaseId());
+//                WarehouseBaseInfo warehouseBaseInfo=warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
+//                warehousingOrder.setWarehouseInOutId(warehouseInOutInfo.getId());
+//                if(warehouseInOutInfo.getPositionId()!=null){
+//                    warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+//                }
+//                //区分采购合同产生的临时库
+//                else {
+//                    warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName()+"(临)");
+//                }
+//                warehousingOrder.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+//                warehousingOrder.setGoodsSource(warehouseInOutInfo.getContractNo());
+//                warehousingOrder.setCarNo(warehouseInOutInfo.getCarNo());
+//                warehousingOrder.setInType(warehouseInOutInfo.getInOutType());
+//                warehousingOrder.setCompId(warehouseBaseInfo.getCompId());
+//                warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
+//                warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
+//                warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+//                warehousingOrder.setAmountNotPayable(warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight());
+//                warehousingOrder.setAmountEdPayable(0d);
+//                warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+//                warehousingOrder.setIssuingTime(new Date());
+//                warehousingOrder.setGrainFund(warehouseInOutInfo.getCost()*warehouseInOutInfo.getNetWeight());
+//                this.insert(warehousingOrder);
+//            }
+//        }
 
         //移库入库
         List<WarehouseInOutInfo> warehouseInOutInfoList1 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
@@ -315,33 +387,11 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                 warehousingOrder.setInType(warehouseInOutInfo.getInOutType());
                 warehousingOrder.setDeliveryWarehouse(warehouseInOutInfo.getCarNo());
                 warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
+                warehousingOrder.setAvgCost(Double.valueOf(String.valueOf(warehouseInOutInfo.getCost())));
+                warehousingOrder.setInType("移库入库");
                 warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
                 warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                 warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
-//                boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
-//                // 不是退回的单子
-//                if (isStartWorkflow) {
-//                    Workflow workflow = workflowService
-//                            .findLatestWorkflowByBusinessCodeByApp(compId, "WAREHOUSING-ORDER-APPROVE");
-//                    // 没配置审核流程,直接结束并处理信息
-//                    if (workflow == null) {
-//                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
-//                    }
-//                    // 开启审核流
-//                    else {
-//
-//                        // 设置状态 已提交审核
-//                        warehousingOrder.setWorkflowId(workflow.getId());
-//                        this.updateById(warehousingOrder);
-//                        workflowService.startInstance(workflow.getId(), warehousingOrder.getId());
-//                    }
-//                }
-//                // 退回的单子 再启用
-//                else {
-//
-//                    this.updateById(warehousingOrder);
-//                    workflowService.activateInstance(warehousingOrder.getWorkflowId(), warehousingOrder.getId());
-//                }
                 this.insert(warehousingOrder);
             }
         }
@@ -369,6 +419,8 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                 warehousingOrder.setIssuingTime(new Date());
                 warehousingOrder.setDeliveryWarehouse(inOutWarehouseTask.getSendWarehouse());
                 warehousingOrder.setGoodsName(warehouseInOutInfo.getGoodsName());
+                warehousingOrder.setAvgCost(Double.valueOf(String.valueOf(warehouseInOutInfo.getCost())));
+                warehousingOrder.setInType("退库");
                 warehousingOrder.setContractNo(warehouseInOutInfo.getContractNo());
                 warehousingOrder.setInWarehouseWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
                 warehousingOrder.setSurplusWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
@@ -394,7 +446,7 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
             warehousingOrder.setOperationFlag("盘盈");
             // 插入操作历史
             this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
-                    "盘盈" + "(" + warehousingOrder.getPlValue() + ")", null, "审核中");
+                    "盘盈" + "(审核中)", null, String.valueOf(warehousingOrder.getPlValue()));
 //            boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
 //                // 不是退回的单子
 //                if (isStartWorkflow) {
@@ -424,7 +476,7 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
             warehousingOrder.setInventoryStatus(StatusEnum.GRAIN_REVIEWED.getName());
             warehousingOrder.setOperationFlag("盘亏");
             this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
-                    "盘亏" + "(" + warehousingOrder.getPlValue() + ")", null, "审核中");
+                    "盘亏" + "(审核中)", null, String.valueOf(warehousingOrder.getPlValue()));
 //            boolean isStartWorkflow = StringUtils.isBlank(warehousingOrder.getWorkflowId());
 //                // 不是退回的单子
 //                if (isStartWorkflow) {
@@ -453,38 +505,36 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
         //盘盈通过
         else if ("2".equals(warehousingOrder.getFlag())){
             warehousingOrder.setProfitAndLoss(warehousingOrder.getProfitAndLoss()+warehousingOrder.getPlValue());
-            warehousingOrder.setPlValue(0f);
             warehousingOrder.setOperationFlag("");
             warehousingOrder.setInventoryStatus(StatusEnum.GRAIN_ADOPT.getName());
             this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
-                    "盘盈" + "(" + warehousingOrder.getPlValue() + ")", null, "已通过");
+                    "盘盈" + "(已通过)", null, String.valueOf(warehousingOrder.getPlValue()));
+            warehousingOrder.setPlValue(0f);
         }
         //盘亏通过
         else if ("3".equals(warehousingOrder.getFlag())){
             warehousingOrder.setInventoryStatus(StatusEnum.GRAIN_ADOPT.getName());
             warehousingOrder.setProfitAndLoss(warehousingOrder.getProfitAndLoss()+warehousingOrder.getPlValue());
             warehousingOrder.setOperationFlag("");
-            warehousingOrder.setPlValue(0f);
-            warehousingOrder.setProfitAndLoss(warehousingOrder.getProfitAndLoss()+warehousingOrder.getPlValue());
             this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
-                    "盘亏" + "(" + warehousingOrder.getPlValue() + ")", null, "已通过");
+                    "盘亏" + "(已通过)", null, String.valueOf(warehousingOrder.getPlValue()));
+            warehousingOrder.setPlValue(0f);
         }
         //盘盈驳回
         else if ("4".equals(warehousingOrder.getFlag())){
-            warehousingOrder.setPlValue(0f);
             warehousingOrder.setInventoryStatus(StatusEnum.GRAIN_REJECT.getName());
             warehousingOrder.setOperationFlag("");
             this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
-                    "盘盈" + "(" + warehousingOrder.getPlValue() + ")", null, "已驳回");
+                    "盘盈" + "(已驳回)", null,  String.valueOf(warehousingOrder.getPlValue()));
+            warehousingOrder.setPlValue(0f);
         }
         //盘亏驳回
         else if ("5".equals(warehousingOrder.getFlag())){
             warehousingOrder.setInventoryStatus(StatusEnum.GRAIN_REJECT.getName());
             warehousingOrder.setOperationFlag("");
-            warehousingOrder.setPlValue(0f);
-            warehousingOrder.setProfitAndLoss(warehousingOrder.getProfitAndLoss()+warehousingOrder.getPlValue());
             this.billOperateHisService.saveBillOperateHis(warehousingOrder.getId(), NumberConstant.INVENTORY_CHECK, staffName, null,
-                    "盘亏" + "(" + warehousingOrder.getPlValue() + ")", null, "已驳回 ");
+                    "盘亏" + "(已驳回)", null,  String.valueOf(warehousingOrder.getPlValue()));
+            warehousingOrder.setPlValue(0f);
         }
         // 主表信息编辑
         boolean one = this.updateById(warehousingOrder);
@@ -1154,6 +1204,29 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
         return warehousingOrder1;
     }
 
+    @Override
+    public Page<WarehousingOrder> selectGoodSourceInfo(WarehousingOrder warehousingOrder) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (warehousingOrder.getCurrentPage() - 1)
+                * warehousingOrder.getPageSize());
+        pageView.put("searchKeyWord", warehousingOrder.getSearchKeyWord());
+        pageView.put("pageSize", warehousingOrder.getPageSize());
+        pageView.put("currentPage", warehousingOrder.getCurrentPage());
+        pageView.put("startDate", warehousingOrder.getStartDate());
+        pageView.put("endDate", warehousingOrder.getEndDate());
+        pageView.put("baseId", warehousingOrder.getBaseId());
+        pageView.put("flag", warehousingOrder.getFlag());
+        // 查询总数
+        Integer dataCount = baseMapper.getGoodSourceCountByCondition(pageView);
+        List<WarehousingOrder> dataList = baseMapper.getGoodSourceListByCondition(pageView);
+        Page<WarehousingOrder> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(warehousingOrder.getCurrentPage());
+        page.setSize(warehousingOrder.getPageSize());
+        return page;
+    }
+
     private List<String> getResourceIdList() {
         User currentUser = AuthSecurityUtils.getCurrentUserInfo();
         // 当前登录人主要角色

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WeighingManagementServiceImpl.java

@@ -377,6 +377,7 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
                         warehouseInOutInfoService.selectById(weighingManagement.getWarehouseInOutId());
                 if(warehouseInOutInfo!= null){
                     weighingManagement.setPositionId(warehouseInOutInfo.getPositionId());
+                    weighingManagement.setSelfLoading(warehouseInOutInfo.getSelfLoading());
                 }
             }
             CommonCompany commonCompany=commonCompanyService.selectOne(new EntityWrapper<CommonCompany>()

+ 1 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml

@@ -315,12 +315,11 @@
         m.buyer,
         m.signing_date as signingDate,
         m.status,
-        SUM(wo.surplus_weight) as surplus,
+        SUM(war.surplus_weight) as surplus,
         IFNULL(SUM( IFNULL( sri.proportion, 1 ) * IFNULL( ssrr.amount_ing_receivable, 0 ) ) + SUM( exi.amount_money )- SUM( exi2.amount_money ),0) AS profit,
         m.approve_status as approveStatus,
         m.agreement_type as agreementType
         FROM contract_management_info m
-        LEFT JOIN warehousing_order wo on wo.contract_no = m.contract_no and wo.comp_id=m.comp_id and wo.delete_flag = '0'
         LEFT JOIN expense_info exi ON exi.contract_id = m.id
         AND exi.expenses_type = '1'
         AND exi.expenses_purpose = '1'

+ 4 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

@@ -687,7 +687,7 @@
         AND wioi.delete_flag = 0
         AND wioi.in_out_type = '收购入库'
         AND wioi.status_flag = '3'
-        LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+        LEFT JOIN warehousing_order war ON war.base_id = w.id  AND war.in_type = '收购入库'
         AND war.delete_flag = '0'
         LEFT JOIN source_relation_info sri ON sri.source_id = war.id
         AND sri.delete_flag = '0'
@@ -742,7 +742,7 @@
         AND wioi.delete_flag = 0
         AND wioi.in_out_type = '收购入库'
         AND wioi.status_flag = '3'
-        LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+        LEFT JOIN warehousing_order war ON war.base_id = w.id  AND war.in_type = '收购入库'
         AND war.delete_flag = '0'
         LEFT JOIN source_relation_info sri ON sri.source_id = war.id
         AND sri.delete_flag = '0'
@@ -796,7 +796,7 @@
         AND qim.delete_flag = 0
         LEFT JOIN payment_management pm ON pm.relation_id = qim.relation_id
         AND pm.delete_flag = 0
-        LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+        LEFT JOIN warehousing_order war ON war.base_id = w.id  AND war.in_type = '收购入库'
         AND war.comp_id = wbi.comp_id
         AND war.delete_flag = '0'
         LEFT JOIN source_relation_info sri ON sri.source_id = war.id
@@ -849,7 +849,7 @@
             warehouse_in_out_info wioi
                 LEFT JOIN warehouse_base_info wbi ON wbi.id = wioi.base_id
                 AND wbi.delete_flag = 0
-                LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+                LEFT JOIN warehousing_order war ON war.base_id = w.id  AND war.in_type = '收购入库'
                 AND war.comp_id = wbi.comp_id
                 AND war.delete_flag = '0'
                 LEFT JOIN source_relation_info sri ON sri.source_id = war.id

+ 136 - 41
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehousingOrderMapper.xml

@@ -3,16 +3,13 @@
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.WarehousingOrderMapper">
     <!-- 获得入库单信息总数 -->
     <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM
+        (
         SELECT
         COUNT(id)
         FROM warehousing_order
         WHERE
         delete_flag = '0'
-        <if test="searchType != null and searchType != ''">
-            <if test="searchType == 1">
-                AND amount_not_payable >0
-            </if>
-        </if>
         <if test="startDate != null">
             AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
             DATE_FORMAT(#{startDate},"%Y%m%d"))
@@ -21,8 +18,10 @@
             AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
             DATE_FORMAT(#{endDate},"%Y%m%d"))
         </if>
-        <if test="baseId != null and baseId != ''">
-            AND base_id= #{baseId}
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND amount_not_payable >0
+            </if>
         </if>
         <if test="flag != null and flag != ''">
             <if test="flag == 0">
@@ -38,49 +37,146 @@
         <if test="searchKeyWord != null and searchKeyWord != ''">
             AND (lower(goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
         </if>
+        <if test="baseId != null and baseId != ''">
+            AND base_id= #{baseId}
+        </if>
+        group BY base_id,DATE_FORMAT(issuing_time,"%Y%m%d") )tt
     </select>
     <!-- 入库单列表查询 -->
     <select id="getListByCondition" parameterType="Map"
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">
         SELECT
+        w.id,
+        w.comp_id as compId,
+        w.warehouse_name as warehouseName,
+        wbi.warehouse_type as warehouseType,
+        w.issuing_time as issuingTime
+        FROM warehousing_order w
+        LEFT JOIN warehouse_base_info wbi on wbi.id=w.base_id and wbi.delete_flag = '0'
+        WHERE
+        w.delete_flag = '0'
+        <if test="startDate != null">
+            AND (DATE_FORMAT(w.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(w.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND w.amount_not_payable >0
+            </if>
+        </if>
+        <if test="flag != null and flag != ''">
+            <if test="flag == 0">
+                AND w.profit_and_loss >0
+            </if>
+            <if test="flag == 1">
+                AND w.profit_and_loss &lt; 0
+            </if>
+        </if>
+        <if test="batchId != null and batchId != ''">
+            AND w.batch_id= #{batchId}
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(w.goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="baseId != null and baseId != ''">
+            AND w.base_id= #{baseId}
+        </if>
+        group BY w.base_id,DATE_FORMAT(w.issuing_time,"%Y%m%d")
+        ORDER BY w.update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+    <!-- 收购入库单查询 -->
+    <select id="getAcquisitionListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">
+        SELECT
+            pm.warehouse_name as warehouseName,
+            pm.customer_name as goodsSource,
+            pm.comp_id as compId,
+            pm.update_date as updateDate,
+            wbi.id as baseId,
+            iai.id as identifyId,
+            pm.goods_name as goodsName
+        FROM payment_management pm
+        LEFT JOIN warehouse_base_info wbi on wbi.comp_id=pm.comp_id and wbi.warehouse_name=pm.warehouse_name
+        LEFT JOIN identity_authentication_info iai on iai.comp_id=pm.comp_id and iai.customer_number_card=pm.customer_number_card and iai.delete_flag='0'
+        WHERE
+            pm.delete_flag = '0'
+            and pm.status !='待结算'
+			and pm.update_date> #{beforeDay}
+        group BY pm.warehouse_name,pm.customer_name,pm.goods_name,DATE_FORMAT(pm.update_date,"%Y%m%d")
+    </select>
+    <!-- 采购入库单查询 -->
+    <select id="getPurchaseListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">
+        SELECT
+            wio.id,
+            wio.warehouse_name as warehouseName,
+            wio.contract_no as contractNo,
+            wbi.comp_id as compId,
+            wio.goods_name as goodsName,
+            wbi.id as baseId,
+            wio.update_date as updateDate
+        FROM warehouse_in_out_info wio
+        LEFT JOIN warehouse_base_info wbi on wbi.id=wio.base_id
+        WHERE
+            wio.delete_flag = '0'
+            and wio.status ='已提交'
+            and wio.in_out_type ='采购入库'
+            and wio.update_date> #{beforeDay}
+        group BY wio.warehouse_name,wio.contract_no,DATE_FORMAT(wio.update_date,"%Y%m%d")
+    </select>
+    <!-- 根据条件查询货源总数 -->
+    <select id="getGoodSourceCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM warehousing_order
+        WHERE
+        delete_flag = '0'
+        <if test="startDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="baseId != null and baseId != ''">
+            AND base_id= #{baseId}
+        </if>
+        <if test="flag != null and flag != ''">
+            <if test="flag == 0">
+                order by issuing_time
+            </if>
+            <if test="flag == 1">
+                order by avg_cost
+            </if>
+        </if>
+    </select>
+    <!-- 根据条件查询货源列表 -->
+    <select id="getGoodSourceListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehousingOrder">
+        SELECT
         id,
         comp_id as compId,
-        batch_id as batchId,
-        car_no as carNo,
         goods_source as goodsSource,
         warehouse_name as warehouseName,
-        contract_no as contractNo,
-        inventory_status as inventoryStatus,
         goods_name as goodsName,
-        address_url as addressUrl,
-        in_warehouse_weight as inWarehouseWeight,
-        out_warehouse_weight as outWarehouseWeight,
-        profit_and_loss as profitAndLoss,
-        pl_value as plValue,
+        in_type as inType,
         surplus_weight as surplusWeight,
-        grain_fund as grainFund,
-        amount_ed_payable as amountEdPayable,
-        amount_not_payable as amountNotPayable,
-        amount_money as amountMoney,
         avg_cost as avgCost,
-        in_type as inType,
-        request_funds as requestFunds,
-        issuing_time as issuingTime,
-        workflow_id as workflowId,
-        status,
-        approve_status as approveStatus,
-        update_date as updateDate
+        issuing_time as issuingTime
         FROM warehousing_order
         WHERE
         delete_flag = '0'
-        <if test="searchType != null and searchType != ''">
-            <if test="searchType == 1">
-                AND amount_not_payable >0
-            </if>
-        </if>
-        <if test="searchKeyWord != null and searchKeyWord != ''">
-            AND (lower(goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
-        </if>
         <if test="startDate != null">
             AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
             DATE_FORMAT(#{startDate},"%Y%m%d"))
@@ -89,21 +185,20 @@
             AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
             DATE_FORMAT(#{endDate},"%Y%m%d"))
         </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(goods_source) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
         <if test="baseId != null and baseId != ''">
             AND base_id= #{baseId}
         </if>
         <if test="flag != null and flag != ''">
             <if test="flag == 0">
-                AND profit_and_loss >0
+                order by issuing_time
             </if>
             <if test="flag == 1">
-                AND profit_and_loss &lt; 0
+                order by avg_cost
             </if>
         </if>
-        <if test="batchId != null and batchId != ''">
-            AND batch_id= #{batchId}
-        </if>
-        ORDER BY base_id,update_date DESC
         <if test="currentPage != null and currentPage != ''">
             LIMIT ${startRecord}, ${pageSize}
         </if>