From 7d81d566eb5368e86f2cfe014c5934a8bbec74ff Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Wed, 21 Sep 2022 11:38:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=96=84=E6=8F=90=E6=A1=88=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E4=B9=A6=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ImprovementProposalsController.java | 148 +++++ .../mapper/ImprovementProposalsMapper.java | 18 + .../anomaly/model/ImprovementProposals.java | 178 +++++ .../service/ImprovementProposalsService.java | 32 + .../impl/ImprovementProposalsServiceImpl.java | 98 +++ .../service/impl/ReportServiceImpl.java | 47 ++ .../mapper/ImprovementProposalsMapper.xml | 626 ++++++++++++++++++ .../main/resources/mapper/ReportMapper.xml | 40 +- .../controller/DataImportController.java | 68 +- 9 files changed, 1227 insertions(+), 28 deletions(-) create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ImprovementProposalsController.java create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ImprovementProposalsMapper.java create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/ImprovementProposals.java create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ImprovementProposalsService.java create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ImprovementProposalsServiceImpl.java create mode 100644 anomaly/src/main/resources/mapper/ImprovementProposalsMapper.xml diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ImprovementProposalsController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ImprovementProposalsController.java new file mode 100644 index 00000000..cd7c535e --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ImprovementProposalsController.java @@ -0,0 +1,148 @@ +package com.foreverwin.mesnac.anomaly.controller; + +import com.foreverwin.mesnac.anomaly.utils.DateReportUtils; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.modular.core.util.R; +import com.foreverwin.modular.core.util.FrontPage; +import com.foreverwin.modular.core.util.CommonMethods; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import com.foreverwin.mesnac.anomaly.service.ImprovementProposalsService; +import com.foreverwin.mesnac.anomaly.model.ImprovementProposals; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.Map; + +/** + * @author YinQ + * @since 2022-09-19 + */ +@RestController +@RequestMapping("/Z-IMPROVEMENT-PROPOSALS") +public class ImprovementProposalsController { + + @Autowired + public ImprovementProposalsService improvementProposalsService; + + /** + * 根据id查询 + * + * @param id 主键 + * @return + */ + @ResponseBody + @GetMapping("/{id:.+}") + public R getImprovementProposalsById(@PathVariable String id) { + return R.ok(improvementProposalsService.getById(id)); + } + + /** + * 查询所有数据 + * + * @return + */ + @ResponseBody + @GetMapping("") + public R getImprovementProposalsList(@RequestParam(required = false) Map paramMap) { + List result; + FrontPage frontPage = new FrontPage<>(); + frontPage.setPage(Integer.valueOf(paramMap.get("page"))); + frontPage.setRows(Integer.valueOf(paramMap.get("rows"))); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper + .like(!StringUtil.isBlank(paramMap.get("uploadCenter")), "UPLOAD_CENTER", paramMap.get("uploadCenter")) + .like(!StringUtil.isBlank(paramMap.get("uploadUser")), "UPLOAD_USER", paramMap.get("uploadUser")) + .like(!StringUtil.isBlank(paramMap.get("sequenceCode")), "SEQUENCE_CODE", paramMap.get("sequenceCode")) + .ge(!StringUtil.isBlank(paramMap.get("startDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("startDate") + " 00:00:00", "yyyy-MM-dd HH:mm:ss")) + .le(!StringUtil.isBlank(paramMap.get("endDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("endDate") + " 23:59:59", "yyyy-MM-dd HH:mm:ss")) + + ; + result = improvementProposalsService.list(queryWrapper); + return R.ok(result); + } + + /** + * 分页查询数据 + * + * @param paramMap + * @return + */ + @ResponseBody + @GetMapping("/page") + public R page(@RequestParam(required = false) Map paramMap) { + IPage result; + FrontPage frontPage = new FrontPage<>(); + frontPage.setPage(Integer.valueOf(paramMap.get("page"))); + frontPage.setRows(Integer.valueOf(paramMap.get("rows"))); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper + .like(!StringUtil.isBlank(paramMap.get("uploadCenter")), "UPLOAD_CENTER", paramMap.get("uploadCenter")) + .like(!StringUtil.isBlank(paramMap.get("uploadUser")), "UPLOAD_USER", paramMap.get("uploadUser")) + .like(!StringUtil.isBlank(paramMap.get("sequenceCode")), "SEQUENCE_CODE", paramMap.get("sequenceCode")) + .ge(!StringUtil.isBlank(paramMap.get("startDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("startDate") + " 00:00:00", "yyyy-MM-dd HH:mm:ss")) + .le(!StringUtil.isBlank(paramMap.get("endDate")), "CREATED_TIME", DateReportUtils.stringToDate(paramMap.get("endDate") + " 23:59:59", "yyyy-MM-dd HH:mm:ss")) + + ; + + result = improvementProposalsService.page(frontPage.getPagePlus(), queryWrapper); + return R.ok(result); + } + + /** + * 新增 + * + * @param improvementProposals 传递的实体 + * @return null 失败 实体成功 + */ + @PostMapping + public R save(@RequestBody ImprovementProposals improvementProposals) { + improvementProposals = improvementProposalsService.insertData(improvementProposals); + return R.ok(improvementProposalsService.save(improvementProposals)); + } + + /** + * 修改 + * + * @param improvementProposals 传递的实体 + * @return null 失败 实体成功 + */ + @PutMapping + public R updateById(@RequestBody ImprovementProposals improvementProposals) { + LocalDateTime now = LocalDateTime.now(); + String user = CommonMethods.getUser(); + improvementProposals.setUpdatedBy(user); + improvementProposals.setUpdatedTime(now); + + return R.ok(improvementProposalsService.updateById(improvementProposals)); + } + + /** + * 根据id删除对象 + * + * @param id 实体ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}") + public R removeById(@PathVariable("id") String id) { + return R.ok(improvementProposalsService.removeById(id)); + } + + /** + * 批量删除对象 + * + * @param ids 实体集合ID + * @return 0 失败 1 成功 + */ + @ResponseBody + @RequestMapping(method = RequestMethod.POST, value = "/delete-batch") + public R removeByIds(List ids) { + return R.ok(improvementProposalsService.removeByIds(ids)); + } +} \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ImprovementProposalsMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ImprovementProposalsMapper.java new file mode 100644 index 00000000..bd876669 --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ImprovementProposalsMapper.java @@ -0,0 +1,18 @@ +package com.foreverwin.mesnac.anomaly.mapper; + +import com.foreverwin.mesnac.anomaly.model.ImprovementProposals; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * 改善提案报告书 Mapper 接口 + *

+ * + * @author YinQ + * @since 2022-09-19 + */ +@Repository +public interface ImprovementProposalsMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/ImprovementProposals.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/ImprovementProposals.java new file mode 100644 index 00000000..7f058e1c --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/ImprovementProposals.java @@ -0,0 +1,178 @@ +package com.foreverwin.mesnac.anomaly.model; + +import java.io.Serializable; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; + +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.foreverwin.mesnac.common.model.ExcelColumn; +import lombok.Data; + +/** + *

+ * 改善提案报告书 + *

+ * + * @author YinQ + * @since 2022-09-19 + */ + +@TableName("Z_IMPROVEMENT_PROPOSALS") +@Data +public class ImprovementProposals extends Model { + + /** + * 主键 + */ + @ExcelColumn(value = "HANDLE") + @TableId(value = "HANDLE", type = IdType.INPUT) + private String handle; + /** + * 场地 + */ + @ExcelColumn(value = "SITE") + @TableField("SITE") + private String site; + /** + * 上传车间 + */ + @ExcelColumn(value = "上传车间") + @TableField("UPLOAD_CENTER") + private String uploadCenter; + /** + * 上传人员 + */ + @ExcelColumn(value = "上传人员") + @TableField("UPLOAD_USER") + private String uploadUser; + /** + * 序列码 + */ + @ExcelColumn(value = "SEQUENCE_CODE") + @TableField("SEQUENCE_CODE") + private String sequenceCode; + /** + * 项目名称 + */ + @ExcelColumn(value = "项目名称") + @TableField("PROJECT_NUMBER") + private String projectNumber; + /** + * 改善类别 + */ + @ExcelColumn(value = "改善类别") + @TableField("CLASSIFY") + private String classify; + /** + * 项目负责人 + */ + @ExcelColumn(value = "项目负责人") + @TableField("PROJECT_LEADER") + private String projectLeader; + /** + * 实施成员 + */ + @ExcelColumn(value = "实施成员") + @TableField("MEMBERS") + private String members; + /** + * 实施日期 + */ + @ExcelColumn(value = "实施日期") + @TableField("MATERIAL_DATE") + private LocalDateTime materialDate; + /** + * 改善前具体问题描述 + */ + @ExcelColumn(value = "改善前具体问题描述") + @TableField("BEFORE_PROBLEMS") + private String beforeProblems; + /** + * 改善前图片 + */ + @ExcelColumn(value = "改善前图片") + @TableField("BEFORE_PICTURE") + private String beforePicture; + /** + * 改善后改善方案及过程 + */ + @ExcelColumn(value = "改善后改善方案及过程") + @TableField("AFTER_PLAN") + private String afterPlan; + /** + * 改善后图片 + */ + @ExcelColumn(value = "改善后图片") + @TableField("AFTER_PICTURE") + private String afterPicture; + /** + * 改善效果 + */ + @ExcelColumn(value = "改善效果") + @TableField("IMPROVE_EFFECT") + private String improveEffect; + /** + * 部门负责人意见 + */ + @ExcelColumn(value = "部门负责人意见") + @TableField("PRINCIPAL_OPINION") + private String principalOpinion; + /** + * 建议奖励金额 + */ + @ExcelColumn(value = "建议奖励金额") + @TableField("PROPOSED_AMOUNT") + private String proposedAmount; + /** + * 最终奖励金额 + */ + @ExcelColumn(value = "最终奖励金额") + @TableField("FINAL_AMOUNT") + private String finalAmount; + /** + * 提案改善推进小组意见 + */ + @ExcelColumn(value = "提案改善推进小组意见") + @TableField("GROUP_VIEWS") + private String groupViews; + /** + * 总经理审批意见 + */ + @ExcelColumn(value = "总经理审批意见") + @TableField("MANAGER_VIEWS") + private String managerViews; + /** + * 创建人 + */ + @ExcelColumn(value = "CREATED_BY") + @TableField("CREATED_BY") + private String createdBy; + /** + * 创建时间 + */ + @ExcelColumn(value = "CREATED_TIME") + @TableField("CREATED_TIME") + private LocalDateTime createdTime; + /** + * 更新人 + */ + @ExcelColumn(value = "UPDATED_BY") + @TableField("UPDATED_BY") + private String updatedBy; + /** + * 更新时间 + */ + @ExcelColumn(value = "UPDATED_TIME") + @TableField("UPDATED_TIME") + private LocalDateTime updatedTime; + + @TableField(exist = false) + @ExcelColumn(value = "SEQ") + private Integer SEQ; + +} \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ImprovementProposalsService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ImprovementProposalsService.java new file mode 100644 index 00000000..be3b95f6 --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ImprovementProposalsService.java @@ -0,0 +1,32 @@ +package com.foreverwin.mesnac.anomaly.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.anomaly.model.ImprovementProposals; +import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.modular.core.util.FrontPage; + +import java.util.List; + +/** + *

+ * 改善提案报告书 服务类 + *

+ * + * @author YinQ + * @since 2022-09-19 + */ +public interface ImprovementProposalsService extends IService { + + /** + * 分页查询 + * @param frontPage + * @return + */ + IPage selectPage(FrontPage frontPage, ImprovementProposals improvementProposals); + + List selectList(ImprovementProposals improvementProposals); + + ImprovementProposals insertData(ImprovementProposals improvementProposals); + + Boolean improvementProposalsListImportFile(List improvementProposals); +} \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ImprovementProposalsServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ImprovementProposalsServiceImpl.java new file mode 100644 index 00000000..1485f1c2 --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ImprovementProposalsServiceImpl.java @@ -0,0 +1,98 @@ +package com.foreverwin.mesnac.anomaly.service.impl; + +import com.foreverwin.mesnac.anomaly.model.OutStore; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.modular.core.util.CommonMethods; +import com.foreverwin.modular.core.util.FrontPage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.foreverwin.mesnac.anomaly.model.ImprovementProposals; +import com.foreverwin.mesnac.anomaly.mapper.ImprovementProposalsMapper; +import com.foreverwin.mesnac.anomaly.service.ImprovementProposalsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; +/** + *

+ * 改善提案报告书 服务实现类 + *

+ * + * @author YinQ + * @since 2022-09-19 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ImprovementProposalsServiceImpl extends ServiceImpl implements ImprovementProposalsService { + + + @Autowired + private ImprovementProposalsMapper improvementProposalsMapper; + + @Override + public IPage selectPage(FrontPage frontPage, ImprovementProposals improvementProposals) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(improvementProposals); + return super.page(frontPage.getPagePlus(), queryWrapper); + } + + @Override + public List selectList(ImprovementProposals improvementProposals) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(improvementProposals); + return super.list(queryWrapper); + } + + @Override + public ImprovementProposals insertData(ImprovementProposals improvementProposals) { + String user = CommonMethods.getUser(); + String site = CommonMethods.getSite(); + LocalDateTime now = LocalDateTime.now(); + String handle = StringUtil.createQUID(); + + improvementProposals.setHandle(handle); + improvementProposals.setSite(site); + improvementProposals.setCreatedBy(user); + improvementProposals.setCreatedTime(now); + improvementProposals.setUpdatedBy(user); + improvementProposals.setUpdatedTime(now); + + StringBuffer sequenceCode = new StringBuffer(); + String format = now.format(DateTimeFormatter.ofPattern("yyyyMMdd")); + for (int i = 0; i < format.length(); i++) { + int random = (int)(Math.random() * 10); + sequenceCode.append(format.charAt(i)).append(handle.substring(random, random + 1)); + } + improvementProposals.setSequenceCode(sequenceCode.toString()); + + return improvementProposals; + } + + /** + * 导入 + * @param improvementProposals + * @return + */ + @Override + public Boolean improvementProposalsListImportFile(List improvementProposals) { + + try { + for (ImprovementProposals improvementProposal : improvementProposals) { + improvementProposal = this.insertData(improvementProposal); + } + super.saveBatch(improvementProposals); + return true; + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + +} \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java index 0cb39bbe..ad541508 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java @@ -424,21 +424,67 @@ public class ReportServiceImpl implements ReportService { collect(Collectors.groupingBy(e -> e.get("item").toString())); for (String item : items.keySet()) { HashMap itemsMap = new HashMap<>(); + //项目号汇总 List> itemListJSONObject = new ArrayList<>(); itemsMap.put("item", item); + Integer shopOrderQTY = 0; + Integer doneQTY = 0; + Float rate = 0F; + Integer nextOperationNum = 0; + String endPlanTime = String.valueOf(items.get(item).get(0).get("endPlanTime")); + for (Map map : items.get(item)) { + shopOrderQTY += Integer.valueOf(String.valueOf(map.get("shopOrderQTY"))); + doneQTY += Integer.valueOf(String.valueOf(map.get("doneQTY"))); + nextOperationNum += Integer.valueOf(String.valueOf(map.get("nextOperationNum"))); + rate += Float.valueOf(String.valueOf(map.get("rate")).substring(0,String.valueOf(map.get("rate")).length() - 1)); + if (endPlanTime.compareTo(String.valueOf(map.get("endPlanTime"))) < 0){ + endPlanTime = String.valueOf(map.get("endPlanTime")); + } + } + itemsMap.put("shopOrderQTY", shopOrderQTY); + itemsMap.put("doneQTY", doneQTY); + itemsMap.put("nextOperationNum", nextOperationNum); + itemsMap.put("rate", String.format("%.2f",rate / items.get(item).size()) + "%"); + itemsMap.put("endPlanTime", endPlanTime.substring(0,endPlanTime.length() - 2)); + List> itemsList = items.get(item); Map>> workOrders = itemsList.stream(). collect(Collectors.groupingBy(e -> e.get("workOrder").toString())); + + for (String workOrder : workOrders.keySet()) { HashMap workOrderMap = new HashMap<>(); List> workOrderListJSONObject = new ArrayList<>(); workOrderMap.put("workOrder", workOrder); + //工作令汇总 + Integer shopOrderQTY1 = 0; + Integer doneQTY1 = 0; + Float rate1 = 0F; + Integer nextOperationNum1 = 0; + String endPlanTime1 = String.valueOf(workOrders.get(workOrder).get(0).get("endPlanTime")); + + for (Map map : workOrders.get(workOrder)) { + shopOrderQTY1 += Integer.valueOf(String.valueOf(map.get("shopOrderQTY"))); + doneQTY1 += Integer.valueOf(String.valueOf(map.get("doneQTY"))); + nextOperationNum1 += Integer.valueOf(String.valueOf(map.get("nextOperationNum"))); + rate1 += Float.valueOf(String.valueOf(map.get("rate")).substring(0,String.valueOf(map.get("rate")).length() - 1)); + if (endPlanTime1.compareTo(String.valueOf(map.get("endPlanTime"))) < 0){ + endPlanTime1 = String.valueOf(map.get("endPlanTime")); + } + } + workOrderMap.put("shopOrderQTY", shopOrderQTY1); + workOrderMap.put("doneQTY", doneQTY1); + workOrderMap.put("nextOperationNum", nextOperationNum1); + workOrderMap.put("rate", String.format("%.2f",rate1 / workOrders.get(workOrder).size()) + "%"); + workOrderMap.put("endPlanTime", endPlanTime1.substring(0,endPlanTime1.length() - 2)); + List> workOrderList = workOrders.get(workOrder); Map>> shopOrders = workOrderList.stream() .collect(Collectors.groupingBy(e -> e.get("shopOrder").toString())); for (String shopOrder : shopOrders.keySet()) { HashMap shopOrderMap = new HashMap<>(); shopOrderMap.put("shopOrder", shopOrder); + List shopOrderListJSONObject = new ArrayList<>(); List> shopOrderMaps = shopOrders.get(shopOrder); //存入订单号对应数据 @@ -482,6 +528,7 @@ public class ReportServiceImpl implements ReportService { HashMap result = new HashMap<>(); result.put("clothing", objectHashMap); result.put("workOrder", paramMap.get("workOrder")); + result.put("oldData", maps); return result; } diff --git a/anomaly/src/main/resources/mapper/ImprovementProposalsMapper.xml b/anomaly/src/main/resources/mapper/ImprovementProposalsMapper.xml new file mode 100644 index 00000000..2665b1d4 --- /dev/null +++ b/anomaly/src/main/resources/mapper/ImprovementProposalsMapper.xml @@ -0,0 +1,626 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLE, SITE, UPLOAD_CENTER, UPLOAD_USER, SEQUENCE_CODE, PROJECT_NUMBER, CLASSIFY, PROJECT_LEADER, MEMBERS, MATERIAL_DATE, BEFORE_PROBLEMS, BEFORE_PICTURE, AFTER_PLAN, AFTER_PICTURE, IMPROVE_EFFECT, PRINCIPAL_OPINION, PROPOSED_AMOUNT, FINAL_AMOUNT, GROUP_VIEWS, MANAGER_VIEWS, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME,ROWNUM SEQ + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO Z_IMPROVEMENT_PROPOSALS + + HANDLE, + SITE, + UPLOAD_CENTER, + UPLOAD_USER, + SEQUENCE_CODE, + PROJECT_NUMBER, + CLASSIFY, + PROJECT_LEADER, + MEMBERS, + MATERIAL_DATE, + BEFORE_PROBLEMS, + BEFORE_PICTURE, + AFTER_PLAN, + AFTER_PICTURE, + IMPROVE_EFFECT, + PRINCIPAL_OPINION, + PROPOSED_AMOUNT, + FINAL_AMOUNT, + GROUP_VIEWS, + MANAGER_VIEWS, + CREATED_BY, + CREATED_TIME, + UPDATED_BY, + UPDATED_TIME, + VALUES + + #{handle}, + #{site}, + #{uploadCenter}, + #{uploadUser}, + #{sequenceCode}, + #{projectNumber}, + #{classify}, + #{projectLeader}, + #{members}, + #{materialDate}, + #{beforeProblems}, + #{beforePicture}, + #{afterPlan}, + #{afterPicture}, + #{improveEffect}, + #{principalOpinion}, + #{proposedAmount}, + #{finalAmount}, + #{groupViews}, + #{managerViews}, + #{createdBy}, + #{createdTime}, + #{updatedBy}, + #{updatedTime}, + + + + + INSERT INTO Z_IMPROVEMENT_PROPOSALS + + + VALUES + + #{handle}, + #{site}, + #{uploadCenter}, + #{uploadUser}, + #{sequenceCode}, + #{projectNumber}, + #{classify}, + #{projectLeader}, + #{members}, + #{materialDate}, + #{beforeProblems}, + #{beforePicture}, + #{afterPlan}, + #{afterPicture}, + #{improveEffect}, + #{principalOpinion}, + #{proposedAmount}, + #{finalAmount}, + #{groupViews}, + #{managerViews}, + #{createdBy}, + #{createdTime}, + #{updatedBy}, + #{updatedTime}, + + + + + + UPDATE Z_IMPROVEMENT_PROPOSALS + SITE=#{et.site}, + UPLOAD_CENTER=#{et.uploadCenter}, + UPLOAD_USER=#{et.uploadUser}, + SEQUENCE_CODE=#{et.sequenceCode}, + PROJECT_NUMBER=#{et.projectNumber}, + CLASSIFY=#{et.classify}, + PROJECT_LEADER=#{et.projectLeader}, + MEMBERS=#{et.members}, + MATERIAL_DATE=#{et.materialDate}, + BEFORE_PROBLEMS=#{et.beforeProblems}, + BEFORE_PICTURE=#{et.beforePicture}, + AFTER_PLAN=#{et.afterPlan}, + AFTER_PICTURE=#{et.afterPicture}, + IMPROVE_EFFECT=#{et.improveEffect}, + PRINCIPAL_OPINION=#{et.principalOpinion}, + PROPOSED_AMOUNT=#{et.proposedAmount}, + FINAL_AMOUNT=#{et.finalAmount}, + GROUP_VIEWS=#{et.groupViews}, + MANAGER_VIEWS=#{et.managerViews}, + CREATED_BY=#{et.createdBy}, + CREATED_TIME=#{et.createdTime}, + UPDATED_BY=#{et.updatedBy}, + UPDATED_TIME=#{et.updatedTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_IMPROVEMENT_PROPOSALS + SITE=#{et.site}, + UPLOAD_CENTER=#{et.uploadCenter}, + UPLOAD_USER=#{et.uploadUser}, + SEQUENCE_CODE=#{et.sequenceCode}, + PROJECT_NUMBER=#{et.projectNumber}, + CLASSIFY=#{et.classify}, + PROJECT_LEADER=#{et.projectLeader}, + MEMBERS=#{et.members}, + MATERIAL_DATE=#{et.materialDate}, + BEFORE_PROBLEMS=#{et.beforeProblems}, + BEFORE_PICTURE=#{et.beforePicture}, + AFTER_PLAN=#{et.afterPlan}, + AFTER_PICTURE=#{et.afterPicture}, + IMPROVE_EFFECT=#{et.improveEffect}, + PRINCIPAL_OPINION=#{et.principalOpinion}, + PROPOSED_AMOUNT=#{et.proposedAmount}, + FINAL_AMOUNT=#{et.finalAmount}, + GROUP_VIEWS=#{et.groupViews}, + MANAGER_VIEWS=#{et.managerViews}, + CREATED_BY=#{et.createdBy}, + CREATED_TIME=#{et.createdTime}, + UPDATED_BY=#{et.updatedBy}, + UPDATED_TIME=#{et.updatedTime}, + WHERE HANDLE=#{et.handle} and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL} + + + + + UPDATE Z_IMPROVEMENT_PROPOSALS + SITE=#{et.site}, + UPLOAD_CENTER=#{et.uploadCenter}, + UPLOAD_USER=#{et.uploadUser}, + SEQUENCE_CODE=#{et.sequenceCode}, + PROJECT_NUMBER=#{et.projectNumber}, + CLASSIFY=#{et.classify}, + PROJECT_LEADER=#{et.projectLeader}, + MEMBERS=#{et.members}, + MATERIAL_DATE=#{et.materialDate}, + BEFORE_PROBLEMS=#{et.beforeProblems}, + BEFORE_PICTURE=#{et.beforePicture}, + AFTER_PLAN=#{et.afterPlan}, + AFTER_PICTURE=#{et.afterPicture}, + IMPROVE_EFFECT=#{et.improveEffect}, + PRINCIPAL_OPINION=#{et.principalOpinion}, + PROPOSED_AMOUNT=#{et.proposedAmount}, + FINAL_AMOUNT=#{et.finalAmount}, + GROUP_VIEWS=#{et.groupViews}, + MANAGER_VIEWS=#{et.managerViews}, + CREATED_BY=#{et.createdBy}, + CREATED_TIME=#{et.createdTime}, + UPDATED_BY=#{et.updatedBy}, + UPDATED_TIME=#{et.updatedTime}, + + + + + HANDLE=#{ew.entity.handle} + AND SITE=#{ew.entity.site} + AND UPLOAD_CENTER=#{ew.entity.uploadCenter} + AND UPLOAD_USER=#{ew.entity.uploadUser} + AND SEQUENCE_CODE=#{ew.entity.sequenceCode} + AND PROJECT_NUMBER=#{ew.entity.projectNumber} + AND CLASSIFY=#{ew.entity.classify} + AND PROJECT_LEADER=#{ew.entity.projectLeader} + AND MEMBERS=#{ew.entity.members} + AND MATERIAL_DATE=#{ew.entity.materialDate} + AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems} + AND BEFORE_PICTURE=#{ew.entity.beforePicture} + AND AFTER_PLAN=#{ew.entity.afterPlan} + AND AFTER_PICTURE=#{ew.entity.afterPicture} + AND IMPROVE_EFFECT=#{ew.entity.improveEffect} + AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion} + AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount} + AND FINAL_AMOUNT=#{ew.entity.finalAmount} + AND GROUP_VIEWS=#{ew.entity.groupViews} + AND MANAGER_VIEWS=#{ew.entity.managerViews} + AND CREATED_BY=#{ew.entity.createdBy} + AND CREATED_TIME=#{ew.entity.createdTime} + AND UPDATED_BY=#{ew.entity.updatedBy} + AND UPDATED_TIME=#{ew.entity.updatedTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_IMPROVEMENT_PROPOSALS WHERE HANDLE=#{handle} + + + + DELETE FROM Z_IMPROVEMENT_PROPOSALS + + + + + ${k} = #{cm[${k}]} + + + + + + + + DELETE FROM Z_IMPROVEMENT_PROPOSALS + + + + + HANDLE=#{ew.entity.handle} + + AND SITE=#{ew.entity.site} + AND UPLOAD_CENTER=#{ew.entity.uploadCenter} + AND UPLOAD_USER=#{ew.entity.uploadUser} + AND SEQUENCE_CODE=#{ew.entity.sequenceCode} + AND PROJECT_NUMBER=#{ew.entity.projectNumber} + AND CLASSIFY=#{ew.entity.classify} + AND PROJECT_LEADER=#{ew.entity.projectLeader} + AND MEMBERS=#{ew.entity.members} + AND MATERIAL_DATE=#{ew.entity.materialDate} + AND BEFORE_PROBLEMS=#{ew.entity.beforeProblems} + AND BEFORE_PICTURE=#{ew.entity.beforePicture} + AND AFTER_PLAN=#{ew.entity.afterPlan} + AND AFTER_PICTURE=#{ew.entity.afterPicture} + AND IMPROVE_EFFECT=#{ew.entity.improveEffect} + AND PRINCIPAL_OPINION=#{ew.entity.principalOpinion} + AND PROPOSED_AMOUNT=#{ew.entity.proposedAmount} + AND FINAL_AMOUNT=#{ew.entity.finalAmount} + AND GROUP_VIEWS=#{ew.entity.groupViews} + AND MANAGER_VIEWS=#{ew.entity.managerViews} + AND CREATED_BY=#{ew.entity.createdBy} + AND CREATED_TIME=#{ew.entity.createdTime} + AND UPDATED_BY=#{ew.entity.updatedBy} + AND UPDATED_TIME=#{ew.entity.updatedTime} + + + ${ew.sqlSegment} + + + + + ${ew.sqlSegment} + + + + + DELETE FROM Z_IMPROVEMENT_PROPOSALS WHERE HANDLE IN ( + #{item} + ) + + + + diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 8b14b395..e072220a 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1153,10 +1153,7 @@ WIP.SFC "SFC", WIP.itemDescription "itemDescription", WIP.shopOrderQTY "shopOrderQTY", - CASE - WHEN zsd2.DISPATCH_STATUS = 'COMPLETE' THEN - zsd2.DISPATCH_QTY - ELSE 0 END "doneQTY",--已完成数量 + WIP.doneQTY "doneQTY",--已完成数量 WIP.rate || '%' "rate", OT.DESCRIPTION "currentOperation", WIP.nextOperationNum "nextOperationNum", @@ -1183,11 +1180,11 @@ TO_CHAR( DECODE(SUM(CASE WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN - zsd.PROD_HOURS + zsd.PROD_HOURS * zsd.DISPATCH_QTY ELSE 0 END), 0, 0, SUM(CASE WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN - zsd.PROD_HOURS - ELSE 0 END) / SUM(zsd.PROD_HOURS)) + zsd.PROD_HOURS * zsd.DISPATCH_QTY + ELSE 0 END) / SUM(zsd.PROD_HOURS * zsd.DISPATCH_QTY)) * 100, '99990.99') rate,--进度(工时百分比) MAX(zsd.ACTUAL_START_DATE) ACTUAL_START_DATE,--最大实际开始时间 SUM(CASE WHEN zsd.DISPATCH_STATUS != 'COMPLETE' THEN 1 ELSE 0 END) nextOperationNum,--剩余工序数量 @@ -1246,7 +1243,6 @@ ORDER BY zsd.ACTUAL_START_DATE -