Ver código fonte

面料损耗更新

fenghaifu 1 ano atrás
pai
commit
73cdd58267

+ 8 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/productionScheduleReport/service/impl/ProductionScheduleImpl.java

@@ -11,10 +11,13 @@ import org.jeecg.modules.productionScheduleReport.mapper.ProductionScheduleMappe
 import org.jeecg.modules.productionScheduleReport.service.ProductionScheduleService;
 import org.jeecg.modules.report.entity.AccessorItem;
 import org.jeecg.modules.report.mapper.FabricLossMapper;
+import org.jeecg.modules.system.util.oConvertUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @Service
@@ -38,8 +41,11 @@ public class ProductionScheduleImpl extends ServiceImpl<ProductionScheduleMapper
 
         for(ProductionSchedule li:pageList.getRecords()){
             // 销售订单附件
-            List<AccessorItem> accessorItemList = fabricLossMapper.getSoAccList(li.getCSOCode());
-            accessorItemList.forEach(e->e.setFileurl("/report/FabricLoss/getFile?fileId="+e.getCFileId()+"&filename="+e.getFilename()));
+            List<AccessorItem> accessorItemList = new ArrayList<>();
+            if (oConvertUtils.isNotEmpty(li.getCSOCode())) {
+                accessorItemList = fabricLossMapper.getSoAccList(Arrays.asList(li.getCSOCode().split(",")));
+                accessorItemList.forEach(e -> e.setFileurl("/report/FabricLoss/getFile?fileId=" + e.getCFileId() + "&filename=" + e.getFilename()));
+            }
             li.setAccessorItemList(accessorItemList);
         }
 

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/FabricLossMapper.java

@@ -83,7 +83,7 @@ public interface FabricLossMapper extends BaseMapper<FabricLoss> {
 	List<FabricMoOrderCK> getOmRowOutList(@Param("code")String code);
 	// 销售订单附件
 	@DS("multi-three")
-	List<AccessorItem> getSoAccList(@Param("cSoCode")String cSoCode);
+	List<AccessorItem> getSoAccList(@Param("cSoCodeList")List<String> cSoCodeList);
 	// 附件详情
 	@DS("multi-three")
 	List<Map<String,Object>> getAccDetail(@Param("fileId")String fileId);

+ 5 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/mapper/xml/FabricLossMapper.xml

@@ -279,7 +279,11 @@
 	</select>
 	<!-- 获取销售订单附件 -->
 	<select id="getSoAccList" resultType="org.jeecg.modules.report.entity.AccessorItem">
-		select distinct cFileId,Filename from VIEW_ACC_LIST_SO where cSoCode=#{cSoCode} and cSoCode not like '%样%'
+		select distinct cFileId,Filename from VIEW_ACC_LIST_SO where cSoCode in
+		<foreach  item="item" collection="cSoCodeList" index="index"  open="(" separator="," close=")">
+			#{item}
+		</foreach>
+		 and cSoCode not like '%样%'
 	</select>
 	<!-- 获取附件详情 -->
 	<select id="getAccDetail" resultType="map">

+ 23 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/report/service/impl/FabricLossServiceImpl.java

@@ -543,8 +543,12 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 //		}
 		ret.setOutboundNumber(dOutSum);
 		// 销售订单附件
-		List<AccessorItem> accessorItemList = fabricLossMapper.getSoAccList(ret.getContractNo());
-		accessorItemList.forEach(e->e.setFileurl("/report/FabricLoss/getFile?fileId="+e.getCFileId()+"&filename="+e.getFilename()));
+		List<AccessorItem> accessorItemList = new ArrayList<>();
+		if (oConvertUtils.isNotEmpty(ret.getContractNo())) {
+			List<String> contractNoList = Arrays.asList(ret.getContractNo().split(","));
+			accessorItemList = fabricLossMapper.getSoAccList(contractNoList);
+			accessorItemList.forEach(e -> e.setFileurl("/report/FabricLoss/getFile?fileId=" + e.getCFileId() + "&filename=" + e.getFilename()));
+		}
 		ret.setAccessorItemList(accessorItemList);
 	}
 
@@ -850,15 +854,19 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 		fabricCostInvoiceList.addAll(fabricCostInvoiceList3);
 		// 织、染、印排序
 		fabricCostInvoiceList.forEach(e->{
-			e.setOrder(-1);
+			if ("普通采购".equalsIgnoreCase(e.getCBusType())){
+				e.setOrder(100);
+			}else if ("委外加工".equalsIgnoreCase(e.getCBusType())){
+				e.setOrder(200);
+			}else {
+				e.setOrder(300);
+			}
 			for (int i=0; i<CVCOrderKeyList.length;i++){
 				if (e.getCVCName().indexOf(CVCOrderKeyList[i])==0){
-					e.setOrder(i);
+					e.setOrder(e.getOrder()+i);
 				}
 			}
-			if (e.getOrder() == -1){
-				e.setOrder(CVCOrderKeyList.length);
-			}
+
 		});
 		fabricCostInvoiceList = fabricCostInvoiceList.stream().sorted(Comparator.comparing(FabricCostInvoice::getOrder)).collect(Collectors.toList());
 
@@ -1409,6 +1417,14 @@ public class FabricLossServiceImpl extends ServiceImpl<FabricLossMapper, FabricL
 	private void setAssemVouchsInPrice(List<FabricCommonIn> commonInList, List<FabricAssemVouchsOrgIn> assemVouchsOrgInList,
 	                                    List<FabricInPrice> priceList){
 		try {
+			for (FabricCommonIn commonIn : commonInList) {
+				Optional<FabricAssemVouchsOrgIn> findOpt = assemVouchsOrgInList.stream().filter(e ->
+								commonIn.getInvId().equalsIgnoreCase(e.getCInvIdFinal())).findFirst();
+				if (findOpt.isPresent()) {
+					commonIn.setCSourceInvId(findOpt.get().getCInvIdAfter());
+				}
+			}
+
 			for (FabricInPrice inPrice : priceList) {
 				for (FabricCommonIn commonIn : commonInList) {
 					Optional<FabricAssemVouchsOrgIn> findOpt = assemVouchsOrgInList.stream().filter(e ->