From b943e1efbc24b26642f2f32aaf07e03dd9105785 Mon Sep 17 00:00:00 2001 From: yinq Date: Thu, 7 Nov 2024 14:27:00 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E4=BF=AE=E6=94=B9=E6=8C=89?= =?UTF-8?q?=E7=85=A7=E4=BA=8B=E4=BB=B6=E6=97=A5=E6=9C=9F=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=B7=A5=E8=B5=84=EF=BC=8C=E6=B7=BB=E5=8A=A0=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=89=A7=E8=A1=8C=E7=94=A8=E6=88=B7=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=B7=A5=E8=B5=84=E6=A0=87=E8=AF=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/os/common/constant/MesConstants.java | 19 ++ .../com/os/mes/prod/domain/ProdOrderInfo.java | 3 +- .../mes/prod/domain/ProdPlanExecuteUser.java | 17 +- .../mes/record/domain/RecordStaffSalary.java | 42 +++ .../impl/RecordStaffSalaryServiceImpl.java | 257 ++++++++++-------- .../mes/prod/ProdPlanExecuteUserMapper.xml | 5 + .../mes/record/RecordStaffSalaryMapper.xml | 34 ++- 7 files changed, 255 insertions(+), 122 deletions(-) diff --git a/os-common/src/main/java/com/os/common/constant/MesConstants.java b/os-common/src/main/java/com/os/common/constant/MesConstants.java index 25bf453..1446e8a 100644 --- a/os-common/src/main/java/com/os/common/constant/MesConstants.java +++ b/os-common/src/main/java/com/os/common/constant/MesConstants.java @@ -34,5 +34,24 @@ public class MesConstants public static final String MES_PROCESS_270_FILM = "1030"; + /** + * 上传ERP标识(0未上传 1已上传) + */ + public static final String MES_IS_ERP_NO = "0"; + + /** + * 上传ERP标识(0未上传 1已上传) + */ + public static final String MES_IS_ERP_YES = "1"; + + /** + * 生成工资标识(0未生成 1已生成) + */ + public static final String MES_IS_SALARY_NO = "0"; + + /** + * 生成工资标识(0未生成 1已生成) + */ + public static final String MES_IS_SALARY_YES = "1"; } diff --git a/os-mes/src/main/java/com/os/mes/prod/domain/ProdOrderInfo.java b/os-mes/src/main/java/com/os/mes/prod/domain/ProdOrderInfo.java index a053792..806504c 100644 --- a/os-mes/src/main/java/com/os/mes/prod/domain/ProdOrderInfo.java +++ b/os-mes/src/main/java/com/os/mes/prod/domain/ProdOrderInfo.java @@ -154,9 +154,8 @@ public class ProdOrderInfo extends BaseEntity { private String printName; /** - * ERP上传标识(0未上传 1已上传) + * ERP上传标识(0未上传 1已上传) 弃用 */ - @Excel(name = "ERP上传标识(0未上传 1已上传)") private String isFlag; /** diff --git a/os-mes/src/main/java/com/os/mes/prod/domain/ProdPlanExecuteUser.java b/os-mes/src/main/java/com/os/mes/prod/domain/ProdPlanExecuteUser.java index ad2774a..0c09206 100644 --- a/os-mes/src/main/java/com/os/mes/prod/domain/ProdPlanExecuteUser.java +++ b/os-mes/src/main/java/com/os/mes/prod/domain/ProdPlanExecuteUser.java @@ -86,9 +86,9 @@ public class ProdPlanExecuteUser extends BaseEntity { private Date planEndDate; /** - * 启用标识 + * 生成工资标识(0未生成 1已生成) */ - @Excel(name = "启用标识") + @Excel(name = "生成工资标识(0未生成 1已生成)") private String isFlag; /** @@ -185,6 +185,19 @@ public class ProdPlanExecuteUser extends BaseEntity { @Excel(name = "输送带长度规格") private String BeltLengthSpecifications; + /** + * 下班时间 + */ + private String offWorkTime; + + public String getOffWorkTime() { + return offWorkTime; + } + + public void setOffWorkTime(String offWorkTime) { + this.offWorkTime = offWorkTime; + } + public BigDecimal getRollCoatingArea() { return RollCoatingArea; } diff --git a/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java b/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java index 6c9010d..be16ae0 100644 --- a/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java +++ b/os-mes/src/main/java/com/os/mes/record/domain/RecordStaffSalary.java @@ -109,6 +109,48 @@ public class RecordStaffSalary extends BaseEntity */ private String orderCode; + /** + * 工单编号 + */ + @Excel(name = "工单编号") + private String planCode; + + /** + * 上传ERP标识(0未上传 1已上传) + */ + @Excel(name = "上传ERP标识(0未上传 1已上传)") + private String isErp; + + /** + * 生产米数 + */ + @Excel(name = "生产米数") + private BigDecimal prodNumber; + + public BigDecimal getProdNumber() { + return prodNumber; + } + + public void setProdNumber(BigDecimal prodNumber) { + this.prodNumber = prodNumber; + } + + public String getPlanCode() { + return planCode; + } + + public void setPlanCode(String planCode) { + this.planCode = planCode; + } + + public String getIsErp() { + return isErp; + } + + public void setIsErp(String isErp) { + this.isErp = isErp; + } + public String getOrderCode() { return orderCode; } diff --git a/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java b/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java index 5406604..6950634 100644 --- a/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java +++ b/os-mes/src/main/java/com/os/mes/record/service/impl/RecordStaffSalaryServiceImpl.java @@ -8,28 +8,23 @@ import java.util.stream.Collectors; import com.os.common.constant.MesConstants; import com.os.common.exception.ServiceException; import com.os.common.utils.DateUtils; +import com.os.common.utils.SecurityUtils; import com.os.common.utils.StringUtils; import com.os.common.utils.uuid.PlanCodeUtils; import com.os.mes.api.domain.ERPParamDto; import com.os.mes.api.domain.LatestSalary; import com.os.mes.api.service.IERPPortService; -import com.os.mes.base.domain.BaseProcessInfo; import com.os.mes.base.domain.BaseStaffInfo; import com.os.mes.base.domain.BaseTeamMembers; import com.os.mes.base.mapper.BaseProcessInfoMapper; import com.os.mes.base.mapper.BaseStaffInfoMapper; import com.os.mes.base.mapper.BaseTeamMembersMapper; import com.os.mes.prod.domain.ProdOrderInfo; -import com.os.mes.prod.domain.ProdPlanDetail; import com.os.mes.prod.domain.ProdPlanExecuteUser; -import com.os.mes.prod.domain.ProdPlanInfo; import com.os.mes.prod.mapper.ProdOrderInfoMapper; import com.os.mes.prod.mapper.ProdPlanExecuteUserMapper; import com.os.mes.prod.mapper.ProdPlanInfoMapper; -import com.os.mes.record.domain.RecordStaffCommute; import com.os.mes.record.domain.StaffSalaryVo; -import com.os.mes.record.mapper.RecordStaffCommuteMapper; -import com.sun.org.apache.xpath.internal.operations.Bool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.os.mes.record.mapper.RecordStaffSalaryMapper; @@ -88,7 +83,23 @@ public class RecordStaffSalaryServiceImpl implements IRecordStaffSalaryService { */ @Override public List selectRecordStaffSalaryList(RecordStaffSalary recordStaffSalary) { - return recordStaffSalaryMapper.selectRecordStaffSalaryList(recordStaffSalary); + List recordStaffSalaryList = recordStaffSalaryMapper.selectRecordStaffSalaryList(recordStaffSalary); + List teamMembers = baseTeamMembersMapper.selectBaseTeamMembersList(new BaseTeamMembers()); + for (RecordStaffSalary staffSalary : recordStaffSalaryList) { + if (StringUtils.isEmpty(staffSalary.getGroupId())) { + continue; + } + for (BaseTeamMembers teamMember : teamMembers) { + if (staffSalary.getGroupId().contains(teamMember.getTeamCode())) { + if (StringUtils.isEmpty(staffSalary.getTeamName())) { + staffSalary.setTeamName(teamMember.getTeamName()); + } else { + staffSalary.setTeamName(staffSalary.getTeamName() + "," + teamMember.getTeamName()); + } + } + } + } + return recordStaffSalaryList; } /** @@ -149,130 +160,151 @@ public class RecordStaffSalaryServiceImpl implements IRecordStaffSalaryService { * @return */ @Override + @Transactional(rollbackFor = ServiceException.class) public List selectTeamEmployeesWages(RecordStaffSalary recordStaffSalary) { List result = new ArrayList<>(); //调用最新工资系数接口 LatestSalary salaryData = portService.getERPLatestSalaryData(new ERPParamDto()); - List teamMembers = baseTeamMembersMapper.selectBaseTeamMembersList(new BaseTeamMembers()); +// List teamMembers = baseTeamMembersMapper.selectBaseTeamMembersList(new BaseTeamMembers()); Map params = recordStaffSalary.getParams(); ProdPlanExecuteUser selectExecuteUser = new ProdPlanExecuteUser(); - selectExecuteUser.setParams(params); //beginOrderDate、endOrderDate + selectExecuteUser.setParams(params); //beginOffWorkTime、beginOffWorkTime 下班后才可以计算之前的工资 + selectExecuteUser.setIsFlag(MesConstants.MES_IS_SALARY_NO);//未生成工资 List planUserList = prodPlanExecuteUserMapper.selectProdPlanExecuteUserList(selectExecuteUser); Date beginOrderDate = null; Date endOrderDate = null; - if (params.containsKey("beginOrderDate")) { - beginOrderDate = DateUtils.parseDate(String.valueOf(params.get("beginOrderDate"))); + if (params.containsKey("beginOffWorkTime")) { + beginOrderDate = DateUtils.parseDate(String.valueOf(params.get("beginOffWorkTime"))); } - if (params.containsKey("endOrderDate")) { - endOrderDate = DateUtils.parseDate(String.valueOf(params.get("endOrderDate"))); + if (params.containsKey("endOffWorkTime")) { + endOrderDate = DateUtils.parseDate(String.valueOf(params.get("endOffWorkTime"))); } - long objId = 1L; String taskCode = PlanCodeUtils.getTaskCode(); - Map> orderCodeMap = planUserList.stream().collect(Collectors.groupingBy(ProdPlanExecuteUser::getOrderCode)); - for (String orderCode : orderCodeMap.keySet()) { - List orderCodeUserList = orderCodeMap.get(orderCode); - for (ProdPlanExecuteUser prodPlanExecuteUser : orderCodeUserList) { - //工序工资系数 - BigDecimal coefficient = new BigDecimal(0); - //工序生产面积 - BigDecimal totalArea = new BigDecimal(0); - ///参加该工序的所有人的工资系数的总和 - BigDecimal wageCoefficientSum = new BigDecimal(0); - ///该工序的输送带面积 - BigDecimal beltTotalArea = new BigDecimal(0); - //当前工序编号 - String currentProcessCode = null; - //硫化工序 工序硫化的工资 = 硫化系数*硫化面积*(工资系数/参加该工序的所有人的工资系数的总和) - //硫化面积=硫化米数/客户要求总米数*硫化面积 - if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_VULCANIZATION)) { - coefficient = salaryData.getVulcanizationCoefficient(); - beltTotalArea = prodPlanExecuteUser.getSulfurizationArea(); - } - //出布工序 - if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_OUT_CLOTH)) { - coefficient = salaryData.getDistributionCoefficient(); - beltTotalArea = prodPlanExecuteUser.getRolledFabricArea(); - } - //成型工序 - if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_FORMING)) { - beltTotalArea = prodPlanExecuteUser.getFormingArea(); - } - //包胶工序 - if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_LAGGING)) { - coefficient = salaryData.getEncapsulationCoefficient(); - beltTotalArea = prodPlanExecuteUser.getRollCoatingArea(); - } - totalArea = prodPlanExecuteUser.getCompleteAmount() - .divide(prodPlanExecuteUser.getBeltRequiredLength(), 12, RoundingMode.HALF_UP) - .multiply(beltTotalArea); + Map> offWorkTimeUserMap = planUserList.stream().collect(Collectors.groupingBy(ProdPlanExecuteUser::getOffWorkTime)); - wageCoefficientSum = orderCodeUserList.stream().filter(e -> e.getPlanCode().equals(prodPlanExecuteUser.getPlanCode()) - && e.getBatchNumber().equals(prodPlanExecuteUser.getBatchNumber())) - .map(ProdPlanExecuteUser::getWageCoefficient).reduce(BigDecimal.ZERO, BigDecimal::add); - - BigDecimal revenueAmount = new BigDecimal(0);//员工收入 - if (wageCoefficientSum.compareTo(BigDecimal.ZERO) > 0){ - BigDecimal staffCoefficient = prodPlanExecuteUser.getWageCoefficient().divide(wageCoefficientSum, 12, RoundingMode.HALF_UP); - revenueAmount = coefficient.multiply(totalArea).multiply(staffCoefficient).setScale(2, RoundingMode.HALF_UP); - } - - if (StringUtils.isNotEmpty(prodPlanExecuteUser.getTeamCode())) { - for (BaseTeamMembers teamMember : teamMembers) { - if (prodPlanExecuteUser.getTeamCode().contains(teamMember.getTeamCode())) { - if (StringUtils.isEmpty(prodPlanExecuteUser.getTeamName())) { - prodPlanExecuteUser.setTeamName(teamMember.getTeamName()); - } else { - prodPlanExecuteUser.setTeamName(prodPlanExecuteUser.getTeamName() + "," + teamMember.getTeamName()); - } + for (String offWorkTime : offWorkTimeUserMap.keySet()) { + List executeUserTimeList = offWorkTimeUserMap.get(offWorkTime); + Map> orderCodeMap = executeUserTimeList.stream().collect(Collectors.groupingBy(ProdPlanExecuteUser::getOrderCode)); + for (String orderCode : orderCodeMap.keySet()) { + List orderCodeUserList = orderCodeMap.get(orderCode); + for (ProdPlanExecuteUser prodPlanExecuteUser : orderCodeUserList) { + //获取员工收入金额 + BigDecimal revenueAmount = this.getStaffreVenueAmount(orderCodeUserList, prodPlanExecuteUser, salaryData); + String teamCode = prodPlanExecuteUser.getTeamCode(); + String teamName = prodPlanExecuteUser.getTeamName(); + String idCard = prodPlanExecuteUser.getIdCard(); + BigDecimal completeAmount = prodPlanExecuteUser.getCompleteAmount(); + String revenueReason = prodPlanExecuteUser.getStationName().substring(0, 2) + " " + + prodPlanExecuteUser.getBeltLengthSpecifications() + " " + prodPlanExecuteUser.getOrderCode(); + RecordStaffSalary staffSalary = new RecordStaffSalary(); + for (RecordStaffSalary staff : result) { + if (staff.getIdCard().equals(idCard) && staff.getGroupId().equals(prodPlanExecuteUser.getTeamCode()) + && staff.getRevenueReason().equals(revenueReason) && offWorkTime.equals(DateUtils.dateTime(staff.getEventDate()))) { + staffSalary = staff; } } - } - String teamCode = prodPlanExecuteUser.getTeamCode(); - String teamName = prodPlanExecuteUser.getTeamName(); - String idCard = prodPlanExecuteUser.getIdCard(); - String revenueReason = prodPlanExecuteUser.getStationName().substring(0, 2) + " " - + prodPlanExecuteUser.getBeltLengthSpecifications() + " " + prodPlanExecuteUser.getOrderCode(); - - RecordStaffSalary staffSalary = new RecordStaffSalary(); - for (RecordStaffSalary staff : result) { - if (staff.getIdCard().equals(idCard) && staff.getGroupId().equals(prodPlanExecuteUser.getTeamCode()) - && staff.getRevenueReason().equals(revenueReason)) { - staffSalary = staff; + if (StringUtils.isEmpty(staffSalary.getCardId())) { + staffSalary.setTaskCode(taskCode); + staffSalary.setIdCard(prodPlanExecuteUser.getIdCard()); + staffSalary.setGroupId(teamCode); + staffSalary.setEventDate(DateUtils.parseDate(offWorkTime)); + staffSalary.setSalaryCategory("收入"); + staffSalary.setRevenueClass("完成生产任务"); + revenueAmount = revenueAmount.setScale(2, RoundingMode.HALF_UP); + staffSalary.setRevenueAmount(revenueAmount); + staffSalary.setSalaryCoefficient(prodPlanExecuteUser.getWageCoefficient()); + staffSalary.setStaffName(prodPlanExecuteUser.getStaffName()); + staffSalary.setCardId(idCard); + staffSalary.setTeamName(teamName); + staffSalary.setBeginDate(beginOrderDate); + staffSalary.setEndDate(endOrderDate); + staffSalary.setRevenueReason(revenueReason); + staffSalary.setOrderCode(prodPlanExecuteUser.getOrderCode()); + staffSalary.setPlanCode(prodPlanExecuteUser.getPlanCode()); + staffSalary.setIsErp(MesConstants.MES_IS_ERP_NO); + staffSalary.setProdNumber(completeAmount); + result.add(staffSalary); + } else { + staffSalary.setRevenueAmount(staffSalary.getRevenueAmount().add(revenueAmount)); + staffSalary.setProdNumber(staffSalary.getProdNumber().add(completeAmount)); + staffSalary.setGroupId(teamCode); + staffSalary.setTeamName(teamName); } - } - if (StringUtils.isEmpty(staffSalary.getCardId())) { - staffSalary.setObjId(objId++); - staffSalary.setTaskCode(taskCode); - staffSalary.setIdCard(prodPlanExecuteUser.getIdCard()); - staffSalary.setGroupId(teamCode); - staffSalary.setEventDate(new Date()); - staffSalary.setSalaryCategory("收入"); - staffSalary.setRevenueClass("完成生产任务"); - revenueAmount = revenueAmount.setScale(2, RoundingMode.HALF_UP); - staffSalary.setRevenueAmount(revenueAmount); - staffSalary.setSalaryCoefficient(prodPlanExecuteUser.getWageCoefficient()); - staffSalary.setStaffName(prodPlanExecuteUser.getStaffName()); - staffSalary.setCardId(idCard); - staffSalary.setTeamName(teamName); - staffSalary.setBeginDate(beginOrderDate); - staffSalary.setEndDate(endOrderDate); - staffSalary.setRevenueReason(revenueReason); - staffSalary.setOrderCode(prodPlanExecuteUser.getOrderCode()); - result.add(staffSalary); - } else { - staffSalary.setRevenueAmount(staffSalary.getRevenueAmount().add(revenueAmount)); - staffSalary.setGroupId(teamCode); - staffSalary.setTeamName(teamName); + ProdPlanExecuteUser updateExecuteUser = new ProdPlanExecuteUser(); + updateExecuteUser.setObjId(prodPlanExecuteUser.getObjId()); + updateExecuteUser.setIsFlag(MesConstants.MES_IS_SALARY_YES); + updateExecuteUser.setUpdatedBy(SecurityUtils.getUsername()); + updateExecuteUser.setUpdatedTime(DateUtils.getNowDate()); + prodPlanExecuteUserMapper.updateProdPlanExecuteUser(updateExecuteUser); } } + + } + for (RecordStaffSalary salary : result) { + this.insertRecordStaffSalary(salary); + } + recordStaffSalary.setIsErp(MesConstants.MES_IS_ERP_NO); + return this.selectRecordStaffSalaryList(recordStaffSalary); + } + + /** + * 获取订单的员工工资 + * @param orderCodeUserList + * @param prodPlanExecuteUser + * @param salaryData + * @return + */ + private BigDecimal getStaffreVenueAmount(List orderCodeUserList, ProdPlanExecuteUser prodPlanExecuteUser, LatestSalary salaryData) { + //工序工资系数 + BigDecimal coefficient = new BigDecimal(0); + //工序生产面积 + BigDecimal totalArea = new BigDecimal(0); + ///参加该工序的所有人的工资系数的总和 + BigDecimal wageCoefficientSum = new BigDecimal(0); + ///该工序的输送带面积 + BigDecimal beltTotalArea = new BigDecimal(0); + //当前工序编号 + String currentProcessCode = null; + //硫化工序 工序硫化的工资 = 硫化系数*硫化面积*(工资系数/参加该工序的所有人的工资系数的总和) + //硫化面积=硫化米数/客户要求总米数*硫化面积 + if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_VULCANIZATION)) { + coefficient = salaryData.getVulcanizationCoefficient(); + beltTotalArea = prodPlanExecuteUser.getSulfurizationArea(); + } + //出布工序 + if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_OUT_CLOTH)) { + coefficient = salaryData.getDistributionCoefficient(); + beltTotalArea = prodPlanExecuteUser.getRolledFabricArea(); + } + //成型工序 + if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_FORMING)) { + beltTotalArea = prodPlanExecuteUser.getFormingArea(); + } + //包胶工序 + if (prodPlanExecuteUser.getProcessCode().equals(MesConstants.MES_PROCESS_LAGGING)) { + coefficient = salaryData.getEncapsulationCoefficient(); + beltTotalArea = prodPlanExecuteUser.getRollCoatingArea(); } - return result; + totalArea = prodPlanExecuteUser.getCompleteAmount() + .divide(prodPlanExecuteUser.getBeltRequiredLength(), 12, RoundingMode.HALF_UP) + .multiply(beltTotalArea); + + wageCoefficientSum = orderCodeUserList.stream().filter(e -> e.getPlanCode().equals(prodPlanExecuteUser.getPlanCode()) + && e.getBatchNumber().equals(prodPlanExecuteUser.getBatchNumber())) + .map(ProdPlanExecuteUser::getWageCoefficient).reduce(BigDecimal.ZERO, BigDecimal::add); + + BigDecimal revenueAmount = new BigDecimal(0);//员工收入 + if (wageCoefficientSum.compareTo(BigDecimal.ZERO) > 0){ + BigDecimal staffCoefficient = prodPlanExecuteUser.getWageCoefficient().divide(wageCoefficientSum, 12, RoundingMode.HALF_UP); + revenueAmount = coefficient.multiply(totalArea).multiply(staffCoefficient).setScale(2, RoundingMode.HALF_UP); + } + return revenueAmount; } @@ -455,14 +487,13 @@ public class RecordStaffSalaryServiceImpl implements IRecordStaffSalaryService { Thread thread = new Thread(() -> { for (RecordStaffSalary staffSalary : recordStaffSalaryList) { String objectId = portService.addSalaryBreakdown(staffSalary); - staffSalary.setObjectId(objectId); - staffSalary.setCreateTime(DateUtils.getNowDate()); - recordStaffSalaryMapper.insertRecordStaffSalary(staffSalary); //更新ERP上传标识 - ProdOrderInfo orderInfo = new ProdOrderInfo(); - orderInfo.setOrderCode(staffSalary.getOrderCode()); - orderInfo.setIsFlag("1"); - prodOrderInfoMapper.updateProdOrderInfo(orderInfo); + RecordStaffSalary updateSalary = new RecordStaffSalary(); + updateSalary.setObjId(staffSalary.getObjId()); + updateSalary.setObjectId(objectId); + updateSalary.setIsErp(MesConstants.MES_IS_ERP_YES); + updateSalary.setUpdateTime(DateUtils.getNowDate()); + recordStaffSalaryMapper.updateRecordStaffSalary(updateSalary); } }); thread.start(); //启动新线程 diff --git a/os-mes/src/main/resources/mapper/mes/prod/ProdPlanExecuteUserMapper.xml b/os-mes/src/main/resources/mapper/mes/prod/ProdPlanExecuteUserMapper.xml index bbfa80f..522ccb4 100644 --- a/os-mes/src/main/resources/mapper/mes/prod/ProdPlanExecuteUserMapper.xml +++ b/os-mes/src/main/resources/mapper/mes/prod/ProdPlanExecuteUserMapper.xml @@ -19,6 +19,7 @@ + @@ -49,6 +50,7 @@ ppeu.updated_by, ppeu.updated_time, ppeu.batch_number, + FORMAT(ppeu.off_work_time, 'yyyy-MM-dd') off_work_time, bsi.staff_name, bsi.wage_coefficient, bpl.product_line_name station_name, @@ -83,6 +85,9 @@ and FORMAT(ppeu.plan_end_date, 'yyyy-MM-dd') between #{params.beginOrderDate} and #{params.endOrderDate} + + and FORMAT(ppeu.off_work_time, 'yyyy-MM-dd') between #{params.beginOffWorkTime} and #{params.endOffWorkTime} + diff --git a/os-mes/src/main/resources/mapper/mes/record/RecordStaffSalaryMapper.xml b/os-mes/src/main/resources/mapper/mes/record/RecordStaffSalaryMapper.xml index a3997c1..8eb4fbe 100644 --- a/os-mes/src/main/resources/mapper/mes/record/RecordStaffSalaryMapper.xml +++ b/os-mes/src/main/resources/mapper/mes/record/RecordStaffSalaryMapper.xml @@ -25,6 +25,10 @@ + + + + @@ -45,11 +49,13 @@ rss.object_id, rss.begin_date, rss.end_date, - bsi.staff_name, - btm.team_name + rss.order_code, + rss.plan_code, + rss.is_erp, + rss.prod_number, + bsi.staff_name from record_staff_salary rss left join base_staff_info bsi on rss.id_card = bsi.pass_word - left join base_team_members btm on rss.group_id = btm.team_code