From 91b2da2c3a42656e842f7c9e0c4af6aa02dbaa3a Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期一, 04 九月 2023 09:23:29 +0800
Subject: [PATCH] MOM系统-9-04 生产报工
---
system-run/src/main/resources/application-dev.yml | 4
production-server/src/main/java/com/yuanchu/mom/service/ManufactureSchedulingService.java | 2
production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java | 16 ++---
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java | 40 +++++++++++--
production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureSchedulingMapper.java | 2
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java | 2
production-server/src/main/resources/mapper/ManufactureOrderProcessMapper.xml | 28 +++++++++
production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml | 4 +
production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderProcessMapper.java | 7 ++
production-server/src/main/java/com/yuanchu/mom/controller/ProductionReportController.java | 55 ++++++++++++++++++
production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java | 4 +
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureSchedulingServiceImpl.java | 5 +
12 files changed, 148 insertions(+), 21 deletions(-)
diff --git a/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
index 00b2450..2b77136 100644
--- a/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
+++ b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
@@ -46,7 +46,6 @@
return Result.success(manufactureOrderService.sePros(schedulingId));
}
-
@ApiOperation(value = "鏍规嵁鐢熶骇璁㈠崟鏌ョ湅鐢熶骇璁″垝")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = Integer.class, required = true),
@@ -59,19 +58,16 @@
return Result.success(manufactureSchedulingService.selectProduceTable(manOrdId, productName, startTime, endTime));
}
-
- @ApiOperation(value = "鏌ョ湅鎺掍骇璇︽儏-->澶辩劍淇敼鏃堕棿")
+ @ApiOperation(value = "鏌ョ湅鎺掍骇璇︽儏-->鍒囨崲淇敼鏃堕棿涓庡懆鏈�")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "technologyId", value = "宸ュ簭Id", dataTypeClass = Integer.class, required = true),
@ApiImplicitParam(name = "schedulingId", value = "鎺掍骇Id", dataTypeClass = Integer.class, required = true),
- @ApiImplicitParam(name = "startTime", value = "寮�濮嬫椂闂�", dataTypeClass = String.class, required = true, dataType = "date")
+ @ApiImplicitParam(name = "startTime", value = "寮�濮嬫椂闂�", dataTypeClass = String.class, required = true, dataType = "date"),
+ @ApiImplicitParam(name = "period", value = "鍛ㄦ湡", dataTypeClass = Integer.class, required = true)
})
@GetMapping("/update_time")
- public Result<?> updateTime(Integer technologyId, Integer schedulingId, String startTime) {
- Integer isUpdateSuccess = manufactureOrderProcessService.updateTime(technologyId, schedulingId, startTime);
- if (isUpdateSuccess >= 1) {
- return Result.success("鏇存柊鎴愬姛锛�");
- }
- return Result.fail("鏇存柊澶辫触锛�");
+ public Result<?> updateTime(Integer technologyId, Integer schedulingId, String startTime, Integer period) {
+ manufactureOrderProcessService.updateTime(technologyId, schedulingId, startTime, period);
+ return Result.success("鏇存柊鎴愬姛锛�");
}
}
diff --git a/production-server/src/main/java/com/yuanchu/mom/controller/ProductionReportController.java b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionReportController.java
new file mode 100644
index 0000000..9f55189
--- /dev/null
+++ b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionReportController.java
@@ -0,0 +1,55 @@
+package com.yuanchu.mom.controller;
+
+import com.yuanchu.mom.service.ManufactureSchedulingService;
+import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 鐢熶骇璁㈠崟琛�(ManufactureOrder)琛ㄦ帶鍒跺眰
+ *
+ * @author XiaoRuby
+ * @since 2023-09-3 14:16:24
+ */
+@Api(tags = "鐢熶骇绠$悊-->鐢熶骇鎶ュ伐")
+@RestController
+@RequestMapping("/productionReport")
+public class ProductionReportController {
+ @Autowired
+ private ManufactureSchedulingService manufactureSchedulingService;
+
+ @ApiOperation(value = "鏌ヨ鐢熶骇璁㈠崟鍒楄〃")
+ @ApiImplicitParams(value = {
+ @ApiImplicitParam(name = "pageSize", value = "椤垫暟", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "countSize", value = "鏉℃暟/椤�", dataTypeClass = Integer.class, required = true),
+ @ApiImplicitParam(name = "customerName", value = "瀹㈡埛鍚嶇О", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "orderNumber", value = "璁㈠崟缂栧彿", dataTypeClass = String.class),
+ @ApiImplicitParam(name = "productName", value = "浜у搧鍚嶇О", dataTypeClass = String.class)
+ })
+ @GetMapping("/selectAllManord")
+ public Result<?> selectAllManord(Integer pageSize, Integer countSize, String customerName, String orderNumber, String productName, Integer type) {
+
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鐐瑰嚮鏂板-->鏌ヨ鎵�鏈夋帓浜ц鍒�")
+ @PostMapping("add_show_scheduling")
+ public Result<?> reportSelectScheduling() {
+ manufactureSchedulingService.reportSelectScheduling();
+ return Result.success();
+ }
+
+ @ApiOperation(value = "鎶ュ伐澧炲姞")
+ @PostMapping("add")
+ public Result<?> productionReportAdd() {
+
+ return Result.success();
+ }
+}
diff --git a/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderProcessMapper.java b/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderProcessMapper.java
index 2ec6f20..2b05edb 100644
--- a/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderProcessMapper.java
+++ b/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderProcessMapper.java
@@ -2,7 +2,9 @@
import com.yuanchu.mom.mybatis_config.MyBaseMapper;
import com.yuanchu.mom.pojo.ManufactureOrderProcess;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.Date;
+import java.util.List;
/**
* <p>
@@ -14,4 +16,7 @@
*/
public interface ManufactureOrderProcessMapper extends MyBaseMapper<ManufactureOrderProcess> {
+ Integer updateTime(List<ManufactureOrderProcess> list);
+
+ Date selectSchedulingStartTime(Integer schedulingId);
}
diff --git a/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureSchedulingMapper.java b/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureSchedulingMapper.java
index a8fd83c..dabe360 100644
--- a/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureSchedulingMapper.java
+++ b/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureSchedulingMapper.java
@@ -21,4 +21,6 @@
List<Map<String, Object>> selectProduceTable(Integer manOrdId, String productName, String startTime, String endTime);
Map<String, Object> sePros(Integer schedulingId);
+
+ List<Map<String, Object>> reportSelectScheduling();
}
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
index 6481410..223870b 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
@@ -2,6 +2,7 @@
import com.yuanchu.mom.pojo.ManufactureOrderProcess;
import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -22,5 +23,6 @@
* @param startTime 寮�濮嬫椂闂�
* @return
*/
- Integer updateTime(Integer technologyId, Integer schedulingId, String startTime);
+ @Transactional(rollbackFor = Exception.class)
+ void updateTime(Integer technologyId, Integer schedulingId, String startTime, Integer period);
}
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureSchedulingService.java b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureSchedulingService.java
index 2372551..b28d7d3 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureSchedulingService.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureSchedulingService.java
@@ -22,4 +22,6 @@
List<Map<String, Object>> selectProduceTable(Integer manOrdId, String productName, String startTime, String endTime);
Map<String, Object> sePros(Integer schedulingId);
+
+ List<Map<String, Object>> reportSelectScheduling();
}
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
index a74f557..e1f426a 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
@@ -2,12 +2,18 @@
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.mom.pojo.ManufactureOrderProcess;
import com.yuanchu.mom.mapper.ManufactureOrderProcessMapper;
+import com.yuanchu.mom.pojo.ManufactureScheduling;
import com.yuanchu.mom.service.ManufactureOrderProcessService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.service.ManufactureSchedulingService;
import com.yuanchu.mom.utils.MyUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -29,22 +35,32 @@
@Resource
private ManufactureOrderProcessMapper manufactureOrderProcessMapper;
+ @Autowired
+ private ManufactureSchedulingService manufactureSchedulingService;
+
@Override
public void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate) {
manufactureOrderProcessMapper.insertBatchSomeColumn(manufactureOrderProcessesDate);
}
@Override
- public Integer updateTime(Integer technologyId, Integer schedulingId, String startTime) {
-// // Hutool 宸ュ叿绫昏绠楅棿闅斿皬鏃�
+ public void updateTime(Integer technologyId, Integer schedulingId, String startTime, Integer period) {
+ // 鍏堟洿鏂板懆鏈�
+ LambdaUpdateWrapper<ManufactureOrderProcess> updateWrapper = Wrappers.<ManufactureOrderProcess>lambdaUpdate()
+ .eq(ManufactureOrderProcess::getId, technologyId)
+ .set(ManufactureOrderProcess::getPeriod, period);
+ manufactureOrderProcessMapper.update(new ManufactureOrderProcess(), updateWrapper);
+
+
+ // 濡傛灉鍛ㄦ湡鏇存柊瀹屾垚锛屾牴鎹帓浜d鏌ヨ鎵�鏈夌殑宸ュ簭Id涓庢瘡閬撳伐搴忓懆鏈燂紝缁忚繃澶勭悊鐒跺悗鎵归噺鏇存柊寮�濮嬫椂闂翠笌缁撴潫鏃堕棿
+ // Hutool 宸ュ叿绫昏绠楅棿闅斿皬鏃�
Date startTime1 = DateUtil.parse(startTime);
// 鏍规嵁鎺掍骇Id鏌ヨ鎵�鏈夊搴旂殑宸ュ簭鏁版嵁
LambdaQueryWrapper<ManufactureOrderProcess> queryWrapper = Wrappers.<ManufactureOrderProcess>lambdaQuery()
.eq(ManufactureOrderProcess::getManufactureSchedulingId, schedulingId)
.select(ManufactureOrderProcess::getId, ManufactureOrderProcess::getPeriod);
List<ManufactureOrderProcess> list = manufactureOrderProcessMapper.selectList(queryWrapper);
-
- //
+ // 寮�濮嬪鐞嗘棩鏈�
for (int i = 0; i < list.size(); i++) {
if (Objects.equals(list.get(i).getId(), technologyId)){
list.get(i).setStartTime(startTime1);
@@ -58,8 +74,18 @@
break;
}
}
- MyUtil.PrintLog(list.toString());
- return null;
-// return manufactureOrderProcessMapper.updateTime(list);
+ manufactureOrderProcessMapper.updateTime(list);
+
+
+ // 濡傛灉鎵归噺鏇存柊鏃堕棿鎴愬姛锛屽紑濮嬫洿鏂版帓浜ц〃涓殑寮�濮嬫椂闂翠笌缁撴潫鏃堕棿
+ // 鑾峰彇宸ヨ壓鐨勮鍒掑紑濮嬫椂闂�
+ Date startDate = manufactureOrderProcessMapper.selectSchedulingStartTime(schedulingId);
+ // 鑾峰彇宸ヨ壓鐨勬渶鏅氬畬鎴愭椂闂�
+ Date endDate = list.get(list.size() - 1).getEndTime();
+ LambdaUpdateWrapper<ManufactureScheduling> updateWrapper1 = Wrappers.<ManufactureScheduling>lambdaUpdate()
+ .eq(ManufactureScheduling::getId, schedulingId)
+ .set(ManufactureScheduling::getStartTime, startDate)
+ .set(ManufactureScheduling::getEndTime, endDate);
+ manufactureSchedulingService.update(new ManufactureScheduling(), updateWrapper1);
}
}
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
index d60aed4..b99ce24 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
@@ -13,6 +13,7 @@
import com.yuanchu.mom.pojo.ManufactureScheduling;
import com.yuanchu.mom.service.ManufactureOrderService;
import com.yuanchu.mom.service.ManufactureSchedulingService;
+import com.yuanchu.mom.utils.MyUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -50,6 +51,7 @@
public Map<String, Object> sePros(Integer schedulingId) {
//鍩烘湰淇℃伅
Map<String, Object> manufactureOrder = manufactureSchedulingService.sePros(schedulingId);
+ MyUtil.PrintLog(manufactureOrder.toString());
//璁″垝缂栧埗
List<Map<String, Object>> mapList = manualTechnologyMapper.selectListTowTree(schedulingId);
manufactureOrder.put("message",mapList);
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureSchedulingServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureSchedulingServiceImpl.java
index 2165666..803e7d4 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureSchedulingServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureSchedulingServiceImpl.java
@@ -40,4 +40,9 @@
public Map<String, Object> sePros(Integer schedulingId) {
return manufactureSchedulingMapper.sePros(schedulingId);
}
+
+ @Override
+ public List<Map<String, Object>> reportSelectScheduling() {
+ return manufactureSchedulingMapper.reportSelectScheduling();
+ }
}
diff --git a/production-server/src/main/resources/mapper/ManufactureOrderProcessMapper.xml b/production-server/src/main/resources/mapper/ManufactureOrderProcessMapper.xml
index 6a3a0d1..9d64c2c 100644
--- a/production-server/src/main/resources/mapper/ManufactureOrderProcessMapper.xml
+++ b/production-server/src/main/resources/mapper/ManufactureOrderProcessMapper.xml
@@ -2,4 +2,32 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.ManufactureOrderProcessMapper">
+ <update id="updateTime" parameterType="integer">
+ UPDATE manufacture_order_process p
+ <trim prefix="set" suffixOverrides=",">
+ <trim prefix="start_time =case" suffix="end,">
+ <foreach collection="list" item="list" index="index">
+ WHEN p.id=#{list.id} THEN #{list.startTime}
+ </foreach>
+ </trim>
+ <trim prefix="end_time =case" suffix="end,">
+ <foreach collection="list" item="list" index="index">
+ WHEN p.id=#{list.id} THEN #{list.endTime}
+ </foreach>
+ </trim>
+ </trim>
+ WHERE p.id in
+ <foreach collection="list" item="list" index="index" separator="," open="(" close=")">
+ <if test="list.startTime != null and list.endTime != null">
+ #{list.id, jdbcType=BIGINT}
+ </if>
+ </foreach>
+ </update>
+
+ <select id="selectSchedulingStartTime" resultType="date">
+ SELECT DATE_FORMAT(p.`start_time`, '%Y-%m-%d')
+ FROM manufacture_order_process p
+ WHERE p.`manufacture_scheduling_id` = #{schedulingId}
+ LIMIT 1
+ </select>
</mapper>
diff --git a/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml b/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
index c837fdb..fbb0c11 100644
--- a/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
+++ b/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
@@ -36,4 +36,8 @@
WHERE s.`manufacture_order_id` = o.`id`
AND s.`id` = #{schedulingId}
</select>
+
+ <select id="reportSelectScheduling" resultType="map">
+
+ </select>
</mapper>
diff --git a/system-run/src/main/resources/application-dev.yml b/system-run/src/main/resources/application-dev.yml
index 6af638d..f6f3fa1 100644
--- a/system-run/src/main/resources/application-dev.yml
+++ b/system-run/src/main/resources/application-dev.yml
@@ -34,7 +34,7 @@
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://192.168.110.209:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
+ url: jdbc:mysql://192.168.191.113:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
username: user
password: 123456
druid:
@@ -59,7 +59,7 @@
# redis鏁版嵁搴撶储寮�(榛樿涓�0)锛屾垜浠娇鐢ㄧ储寮曚负3鐨勬暟鎹簱锛岄伩鍏嶅拰鍏朵粬鏁版嵁搴撳啿绐�
database: 0
# redis鏈嶅姟鍣ㄥ湴鍧�锛堥粯璁や负localhost锛�
- host: 192.168.110.209
+ host: 192.168.191.113
# redis绔彛锛堥粯璁や负6379锛�
port: 6379
# redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級
--
Gitblit v1.9.3