Quellcode durchsuchen

Merge branch 'master' of http://120.46.159.163:7400/ezhizao/ezhizao_dms_production_api

zhuangdezheng vor 1 Jahr
Ursprung
Commit
196800edd5

+ 39 - 2
src/main/java/cn/ezhizao/project/business/controller/BizDayworkController.java

@@ -313,6 +313,9 @@ public class BizDayworkController extends BaseController {
                     item.setProdNum(lotList.stream().filter(lot -> lot.getId().equals(item.getLotId())).findFirst().get().getProductionQuantity());
                 }
             }
+            if(item.getRejectNum() == null) {
+                item.setRejectNum(0);
+            }
         });
 
         return getDataTable(itemList);
@@ -547,9 +550,43 @@ public class BizDayworkController extends BaseController {
     @Log(title = "报工", businessType = BusinessType.EXPORT)
     @PostMapping("/download")
     public void download(HttpServletResponse response, BizDayworkItem bizDayworkItem) throws NoSuchFieldException, IllegalAccessException {
-        List<BizDayworkItem> list = bizDayworkService.listReportItem(bizDayworkItem);
+        List<BizDayworkItem> itemList = bizDayworkService.listReportItem(bizDayworkItem);
+        List<Long> lotIds = itemList.stream().filter(item -> item.getProdNum() == 0).map(BizDayworkItem::getLotId).collect(Collectors.toList());
+        List<BizLot> lotList = bizLotService.query().in("id", lotIds.isEmpty() ? Collections.singletonList(0L) : itemList.stream().filter(item -> item.getProdNum() == 0).map(BizDayworkItem::getLotId).collect(Collectors.toList())).list();
+        //首序投产数为0,所以查询如果prodNum为0,其他是第一条报工的时候,给prodNum赋值单批量
+        itemList.forEach(item ->{
+            if(item.getProdNum() == 0){
+                //拿到第一条报工的工序步骤,为了判断这个投产数为0,是不是该工序步骤的报工,如果是,就给它的投产量赋值为单批量
+                String processStepNumber = itemList.stream().filter(v -> v.getDayworkId().equals(item.getDayworkId())).sorted(Comparator.comparing(BizDayworkItem::getProcessStepNumber)).collect(Collectors.toList()).get(0).getProcessStepNumber();
+                if(item.getProcessStepNumber().equals(processStepNumber)){
+                    item.setProdNum(lotList.stream().filter(lot -> lot.getId().equals(item.getLotId())).findFirst().get().getProductionQuantity());
+                }
+            }
+            if("0".equals(item.getStatus())) {
+                item.setStatus("未开始");
+            }
+            if("1".equals(item.getStatus())) {
+                item.setStatus("进行中");
+            }
+            if("2".equals(item.getStatus())) {
+                item.setStatus("报工结束");
+            }
+            if("3".equals(item.getStatus())) {
+                item.setStatus("工序已完成");
+            }
+            if(item.getWorkingHours() !=null) {
+                int seconds = (int) Math.floor((item.getWorkingHours() / 1000) % 60);
+                int minutes = (int) Math.floor((item.getWorkingHours() / (1000 * 60)) % 60);
+                int hours = (int) Math.floor(item.getWorkingHours() / (1000 * 60 * 60));
+                String time = hours + "小时" + minutes+"分钟"+seconds+"秒";
+                item.setTotalTime(time) ;
+            }
+            if(item.getRejectNum() == null) {
+                item.setRejectNum(0);
+            }
+        });
         ExcelUtil<BizDayworkItem> util = new ExcelUtil<>(BizDayworkItem.class);
-        util.exportExcel(response, list, "报工数据");
+        util.exportExcel(response, itemList, "报工数据");
     }
     /**
      * 导出批次报工列表

+ 7 - 5
src/main/java/cn/ezhizao/project/business/controller/BizLotController.java

@@ -211,11 +211,13 @@ public class BizLotController extends BaseController
         for(Long item:dayworkIds) {
             BizProcess process = new BizProcess();
             //拿到最新一条报工
-            BizDayworkItem bizDayworkItem = dayworkItemList.stream().filter(daywork -> daywork.getDayworkId().equals(item)).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList()).get(0);
-            process.setValue(bizDayworkItem.getProcessId());
-            process.setLabel(bizProcessList.stream().filter(item1 -> item1.getId().equals(bizDayworkItem.getProcessId())).collect(Collectors.toList()).get(0).getProcessAlias());
-            if (bizLot.getProcessAlias() == null || process.getLabel().contains(bizLot.getProcessAlias())) {
-                processList.add(process);
+            BizDayworkItem bizDayworkItem = dayworkItemList.stream().filter(daywork -> daywork.getDayworkId().equals(item)).max(Comparator.comparing(BizDayworkItem::getCreateTime)).orElse(null);
+            if (bizDayworkItem != null) {
+                process.setValue(bizDayworkItem.getProcessId());
+                process.setLabel(bizProcessList.stream().filter(item1 -> item1.getId().equals(bizDayworkItem.getProcessId())).collect(Collectors.toList()).get(0).getProcessAlias());
+                if (bizLot.getProcessAlias() == null || process.getLabel().contains(bizLot.getProcessAlias())) {
+                    processList.add(process);
+                }
             }
         }
         return success(processList.stream().distinct().collect(Collectors.toList()));

+ 1 - 1
src/main/java/cn/ezhizao/project/business/controller/BizLotTechnologicalProcessController.java

@@ -377,7 +377,7 @@ public class BizLotTechnologicalProcessController extends BaseController {
                 amendDetailList.add(amendDetail);
             }
             bizLotTechnologicalProcessDetailService.saveBatch(amendDetailList) ;
-            updateDayworkItem(item.getId(), amend.getId(),amendDetailList);
+            updateDayworkItem(lot.getId(), amend.getId(),amendDetailList);
 
             //修改批次工艺信息
             lot.setTechnologicalProcessId(amend.getId());

+ 6 - 6
src/main/java/cn/ezhizao/project/business/controller/BizReturnTurnoverController.java

@@ -293,8 +293,8 @@ public class BizReturnTurnoverController extends BaseController
         newBizDayworkItem.setDayworkId(outsourcedOrderDetail.getDayworkId());
         newBizDayworkItem.setProductionPlanDetailId(lastDayworkItem.getProductionPlanDetailId());
         newBizDayworkItem.setLotId(outsourcedOrderDetail.getLotId());
-        newBizDayworkItem.setProdNum(lastDayworkItem.getProdNum());
-        newBizDayworkItem.setQualifiedNum(lastDayworkItem.getQualifiedNum());
+        newBizDayworkItem.setProdNum(outsourcedOrderDetail.getAuditNum());
+        newBizDayworkItem.setQualifiedNum(outsourcedOrderDetail.getAuditNum());
         newBizDayworkItem.setTechnologicalProcessId(lastDayworkItem.getTechnologicalProcessId());
         newBizDayworkItem.setTechnologicalProcessDetailId(lastDayworkItem.getTechnologicalProcessDetailId());
         newBizDayworkItem.setProcessStepNumber(lastDayworkItem.getProcessStepNumber());
@@ -397,8 +397,8 @@ public class BizReturnTurnoverController extends BaseController
             item.setDayworkId(l.getDayworkId());
             item.setProductionPlanDetailId(lastDayworkItem.getProductionPlanDetailId());
             item.setLotId(l.getLotId());
-            item.setProdNum(lastDayworkItem.getProdNum());
-            item.setQualifiedNum(lastDayworkItem.getQualifiedNum());
+            item.setProdNum(l.getAuditNum());
+            item.setQualifiedNum(l.getAuditNum());
             item.setTechnologicalProcessId(lastDayworkItem.getTechnologicalProcessId());
             item.setTechnologicalProcessDetailId(lastDayworkItem.getTechnologicalProcessDetailId());
             item.setProcessStepNumber(lastDayworkItem.getProcessStepNumber());
@@ -413,8 +413,8 @@ public class BizReturnTurnoverController extends BaseController
             addItems.add(item);
 
             //修改daywork主表数据
-            daywork.setProcessQualifiedNum(outsourcedOrderDetail.getAuditNum());
-            daywork.setTemporaryProcessQualifiedNum(outsourcedOrderDetail.getAuditNum());
+            daywork.setProcessQualifiedNum(l.getAuditNum());
+            daywork.setTemporaryProcessQualifiedNum(l.getAuditNum());
             daywork.setDeptId(outsourcedOrderDetail.getProductionDeptId());
             updateDaywork.add(daywork);
 

+ 20 - 17
src/main/java/cn/ezhizao/project/business/domain/BizDayworkItem.java

@@ -70,11 +70,11 @@ public class BizDayworkItem extends BaseEntity {
 //    private Integer productionNum;
     /** 批次号 */
     @TableField(exist = false)
-    @Excel(name = "批次号")
+    @Excel(name = "批次号",sort = 1)
     @ApiModelProperty(value = "${comment}")
     private String lotCode;
     /** 合格数 */
-    @Excel(name = "合格数")
+    @Excel(name = "合格数",sort = 6)
     @ApiModelProperty(value = "合格数")
     private Integer qualifiedNum;
 
@@ -91,12 +91,12 @@ public class BizDayworkItem extends BaseEntity {
     private Long equipmentDetailId;
 
     /** 设备编码 */
-    @Excel(name = "设备编码")
+//    @Excel(name = "设备编码")
     @ApiModelProperty(value = "设备编码")
     private String equipmentDetailCode;
 
     /** 生产状态0:未开始, 1:生产中 ,2:已完成 */
-
+    @Excel(name = "生产状态",sort = 11)
     @ApiModelProperty(value = "生产状态0:未开始, 1:生产中 ,2:已完成")
     private String status;
 
@@ -110,36 +110,36 @@ public class BizDayworkItem extends BaseEntity {
 
     @TableField(exist = false)
     private String deptCode;
-
+//    @Excel(name = "工段",sort = 6)
     private String deptName;
 
     @TableField(exist = false)
     private Long carrierId;
     /** 员工编码 */
-    @Excel(name = "员工编码")
+//    @Excel(name = "员工编码")
     @ApiModelProperty(value = "员工编码")
     private String userName;
 
     /** 员工姓名 */
-    @Excel(name = "员工姓名")
+    @Excel(name = "员工姓名",sort = 13)
     @ApiModelProperty(value = "员工姓名")
     private String nickName;
 
     /** 开始时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 8)
     @ApiModelProperty(value = "开始时间")
     private Date startTime;
 
     /** 结束时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 9)
     @ApiModelProperty(value = "结束时间")
     private Date endTime;
 
     @ApiModelProperty(value = "报公工时")
     private Long workingHours;
-
+   @Excel(name = "废品数",sort = 7)
     private Integer rejectNum;
 
     private String reason;
@@ -175,7 +175,7 @@ public class BizDayworkItem extends BaseEntity {
     private String carrierName;
 
     /** 产品描述 */
-    @Excel(name = "产品描述")
+    @Excel(name = "产品描述",sort = 2)
     @TableField(exist = false)
     private String productDescription;
 
@@ -201,14 +201,14 @@ public class BizDayworkItem extends BaseEntity {
     @TableField(exist = false)
     private String preDeptName;
     /** 废品数*/
-//    @TableField(exist = false)
-//    private Long rejectSum;
-
+    @TableField(exist = false)
+    private Long rejectSum;
+    @Excel(name = "投产量",sort = 5)
     private Integer prodNum;
-    @Excel(name = "工序名称")
+    @Excel(name = "工序名称",sort = 4)
     @TableField(exist = false)
     private String processAlias;
-    @Excel(name = "图纸版本")
+    @Excel(name = "图纸版本",sort = 3)
     @TableField(exist = false)
     private String technologyVersion;
     private Long technologicalProcessDetailId;
@@ -233,7 +233,7 @@ public class BizDayworkItem extends BaseEntity {
     private String flag;
     @TableField(exist = false)
     private Long firstProcessId;
-    @Excel(name = "箱号")
+    @Excel(name = "箱号",sort = 12)
     @TableField(exist = false)
     private String originalCarrier;
 
@@ -259,6 +259,9 @@ public class BizDayworkItem extends BaseEntity {
     //外协发出单查找工序数据时的关键字
     @TableField(exist = false)
     private String keyword;
+    @Excel(name = "总工时",sort = 10)
+    @TableField(exist = false)
+    private String totalTime;
     public BizDayworkItem() {}
 
     public BizDayworkItem(BizDayworkItem copy) {

+ 1 - 1
src/main/resources/mybatis/business/BizDayworkMapper.xml

@@ -366,7 +366,7 @@
             <if test="nickName != null and nickName != ''">AND t2.nick_name  LIKE CONCAT('%', #{nickName}, '%')</if>
             <if test="originalCarrier != null and originalCarrier != ''">AND t1.daywork_id in (select daywork_id from biz_daywork_carrier where deleted = 0 AND  is_changed=0 and carrier_code LIKE CONCAT('%', #{originalCarrier}, '%'))  </if>
             <if test="processId != null  and processId != 0">AND t1.process_id = #{processId}</if>
-            ORDER BY t1.process_step_number ASC ,t1.start_time DESC
+            ORDER BY t1.lot_id, t1.end_time DESC
         </trim>
     </select>
     <select id="getItemListFromOutsourced" parameterType="BizDayworkItem" resultMap="BizDayworkItemResult">