diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/EamReportController.java b/src/main/java/com/xujie/sys/modules/pms/controller/EamReportController.java new file mode 100644 index 00000000..74cdeef3 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/controller/EamReportController.java @@ -0,0 +1,39 @@ +package com.xujie.sys.modules.pms.controller; + +import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.common.utils.R; +import com.xujie.sys.modules.pms.data.EamFamilyData; +import com.xujie.sys.modules.pms.data.EamObjectSumReportData; +import com.xujie.sys.modules.pms.service.EamReportService; +import com.xujie.sys.modules.pms.service.EamService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @Classname EamReportController + * @Description 设备报表模块 + * @Date 2023/2/16 17:24 + * @Created by rq + */ +@RestController +@RequestMapping("/pms/eamReport") +public class EamReportController { + @Autowired + private EamReportService eamReportService; + /** + * @Description TODO + * @Title eamFamilySearch + * @param data + * @author rq + * @date 2023/3/30 16:49 + * @return R + * @throw + */ + @PostMapping(value="/searchEamObjectSumReport") + @ResponseBody + public R searchEamObjectSumReport(@RequestBody EamObjectSumReportData data){ + PageUtils page = eamReportService.searchEamObjectSumReport(data); + return R.ok().put("page", page); + } + +} diff --git a/src/main/java/com/xujie/sys/modules/pms/data/EamObjectSumReportData.java b/src/main/java/com/xujie/sys/modules/pms/data/EamObjectSumReportData.java new file mode 100644 index 00000000..9029a59f --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/data/EamObjectSumReportData.java @@ -0,0 +1,171 @@ +package com.xujie.sys.modules.pms.data; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xujie.sys.common.utils.QueryPage; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.type.Alias; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +@Alias("EamObjectSumReportData") +public class EamObjectSumReportData extends QueryPage { + private String site; + private String objectID; + private String objectDesc; + private String operator; + private String operatorName; + private String functionType; + private Integer qtyAll; + private Integer qtyFinished; + private Integer qtyUnFinishied; + private Integer qtycancelled; + private Double finishPercent; + + private String familyID; + private String groupID; + private String familyDesc; + private String groupDesc; + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startDate; + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endDate; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getObjectID() { + return objectID; + } + + public void setObjectID(String objectID) { + this.objectID = objectID; + } + + public String getObjectDesc() { + return objectDesc; + } + + public void setObjectDesc(String objectDesc) { + this.objectDesc = objectDesc; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public String getOperatorName() { + return operatorName; + } + + public void setOperatorName(String operatorName) { + this.operatorName = operatorName; + } + + public String getFunctionType() { + return functionType; + } + + public void setFunctionType(String functionType) { + this.functionType = functionType; + } + + public Integer getQtyAll() { + return qtyAll; + } + + public void setQtyAll(Integer qtyAll) { + this.qtyAll = qtyAll; + } + + public Integer getQtyFinished() { + return qtyFinished; + } + + public void setQtyFinished(Integer qtyFinished) { + this.qtyFinished = qtyFinished; + } + + public Integer getQtyUnFinishied() { + return qtyUnFinishied; + } + + public void setQtyUnFinishied(Integer qtyUnFinishied) { + this.qtyUnFinishied = qtyUnFinishied; + } + + public Integer getQtycancelled() { + return qtycancelled; + } + + public void setQtycancelled(Integer qtycancelled) { + this.qtycancelled = qtycancelled; + } + + public Double getFinishPercent() { + return finishPercent; + } + + public void setFinishPercent(Double finishPercent) { + this.finishPercent = finishPercent; + } + + public String getFamilyID() { + return familyID; + } + + public void setFamilyID(String familyID) { + this.familyID = familyID; + } + + public String getGroupID() { + return groupID; + } + + public void setGroupID(String groupID) { + this.groupID = groupID; + } + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } + + public String getFamilyDesc() { + return familyDesc; + } + + public void setFamilyDesc(String familyDesc) { + this.familyDesc = familyDesc; + } + + public String getGroupDesc() { + return groupDesc; + } + + public void setGroupDesc(String groupDesc) { + this.groupDesc = groupDesc; + } +} diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java index bed5b5a3..31f5111b 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java @@ -609,7 +609,27 @@ public interface EamMapper { * @throw */ void cancelOrderWithPlanID(EamWorkPlanInData inData); + /** + * @Description 删除工单明细 + * @Title deleteOrderDetailWithPlanID + * @param inData + * @author rq + * @date 2023/3/30 17:20 + * @return void + * @throw + */ + void deleteOrderDetailWithPlanID(EamWorkPlanInData inData); + /** + * @Description 删除工单明细 + * @Title deleteOrderDetailWithPlanID + * @param inData + * @author rq + * @date 2023/3/30 17:20 + * @return void + * @throw + */ + void deleteOrderWithPlanID(EamWorkPlanInData inData); /** * @Description 修改操作员 * @Title updateOrderPlanOperator diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamReportMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamReportMapper.java new file mode 100644 index 00000000..fd91fafe --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamReportMapper.java @@ -0,0 +1,26 @@ +package com.xujie.sys.modules.pms.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xujie.sys.modules.pms.data.EamFamilyData; +import com.xujie.sys.modules.pms.data.EamObjectSumReportData; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface EamReportMapper { + + /** + * @Description TODO + * @Title searchEamObjectSumReport + * @param page + * @param inData + * @author rq + * @date 2023/3/30 17:51 + * @return IPage + * @throw + */ + IPage searchEamObjectSumReport(Page page, @Param("query") EamObjectSumReportData inData); +} diff --git a/src/main/java/com/xujie/sys/modules/pms/service/EamReportService.java b/src/main/java/com/xujie/sys/modules/pms/service/EamReportService.java new file mode 100644 index 00000000..a89035cf --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/service/EamReportService.java @@ -0,0 +1,19 @@ +package com.xujie.sys.modules.pms.service; + +import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.modules.pms.data.EamFamilyData; +import com.xujie.sys.modules.pms.data.EamObjectSumReportData; + +public interface EamReportService { + + /** + * @Description 设备报表 + * @Title searchEamObjectSumReport + * @param inData + * @author rq + * @date 2023/3/30 16:59 + * @return PageUtils + * @throw + */ + PageUtils searchEamObjectSumReport(EamObjectSumReportData inData); +} diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamReportServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamReportServiceImpl.java new file mode 100644 index 00000000..e8e5e68d --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamReportServiceImpl.java @@ -0,0 +1,24 @@ +package com.xujie.sys.modules.pms.service.Impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.modules.pms.data.EamFamilyData; +import com.xujie.sys.modules.pms.data.EamObjectSumReportData; +import com.xujie.sys.modules.pms.mapper.EamReportMapper; +import com.xujie.sys.modules.pms.service.EamReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class EamReportServiceImpl implements EamReportService { + @Autowired + private EamReportMapper eamReportMapper; + + @Override + public PageUtils searchEamObjectSumReport(EamObjectSumReportData inData){ + IPage eamFamilyList = this.eamReportMapper.searchEamObjectSumReport( + new Page(inData.getPage(), inData.getLimit()), inData); + return new PageUtils(eamFamilyList); + } +} diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java index bece217b..9ae7d6cd 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java @@ -20,8 +20,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -; - @Service public class EamServiceImpl implements EamService { @Autowired @@ -984,6 +982,10 @@ public class EamServiceImpl implements EamService { if(!"进行中".equals(checkPlanStatus.get(0).getStatus())){ throw new RuntimeException("只有进行中的计划可以变成已计划,请刷新界面"); } + //把今天开始的工单和明细删除 + eamMapper.deleteOrderDetailWithPlanID(inData); + eamMapper.deleteOrderWithPlanID(inData); + //把今天之前没做的取消掉保存存档 eamMapper.cancelOrderWithPlanID(inData); eamMapper.planOrder(inData); } @@ -995,6 +997,10 @@ public class EamServiceImpl implements EamService { if(checkPlanStatus.size()==0){ throw new RuntimeException("该计划已不存在请刷新界面"); } + //把今天开始的工单和明细删除 + eamMapper.deleteOrderDetailWithPlanID(inData); + eamMapper.deleteOrderWithPlanID(inData); + //把今天之前没做的取消掉保存存档 eamMapper.cancelOrderWithPlanID(inData); eamMapper.cancelPlan(inData); } diff --git a/src/main/resources/mapper/pms/EamMapper.xml b/src/main/resources/mapper/pms/EamMapper.xml index c1147991..be5efe7f 100644 --- a/src/main/resources/mapper/pms/EamMapper.xml +++ b/src/main/resources/mapper/pms/EamMapper.xml @@ -508,6 +508,16 @@ TextValue,NumberValue,CreatedDate,CreatedBy,FinishFlag from eam_workOrder_item w update eam_workOrder set Status='已取消' where site=#{site} and PlanID=#{planID} and status='未开工' + + delete from eam_workOrder_item where site=#{site} and OrderNo in + (select OrderNo from eam_workOrder where site=#{site} and PlanID=#{planID} and status='未开工' and PlanDate > GetDate() - 1 ) + + + + + delete from eam_workOrder where site=#{site} and PlanID=#{planID} and status='未开工' and PlanDate > GetDate() - 1 + + update eam_workOrder set PlanOperator=#{planOperator} where site=#{site} and orderNo=#{orderNo} diff --git a/src/main/resources/mapper/pms/EamReportMapper.xml b/src/main/resources/mapper/pms/EamReportMapper.xml new file mode 100644 index 00000000..632dc962 --- /dev/null +++ b/src/main/resources/mapper/pms/EamReportMapper.xml @@ -0,0 +1,42 @@ + + + + + + + \ No newline at end of file