已添加10个文件
已修改18个文件
已删除3个文件
| | |
| | | .techfather(technology.getFather()) |
| | | .deviceGroup(technology.getDeviceGroup()) |
| | | .manufactureOrderId(manufactureOrder.getId()) |
| | | .technologyId(technology.getId()) |
| | | .productionQuota(technology.getProductionQuota()) |
| | | .build(); |
| | | //æ°å¢ç¼å¶å·¥åºè¡¨ |
| | | manualTechnologyMapper.insert(manualTechnology); |
| | |
| | | <openfeign.version>3.1.3</openfeign.version> |
| | | <feign-okhttp.version>11.0</feign-okhttp.version> |
| | | <shiro.version>1.5.3</shiro.version> |
| | | <freemwork.version>2.3.32</freemwork.version> |
| | | <hutool.version>5.8.16</hutool.version> |
| | | <!--æäº¤å--> |
| | | <!-- æå
å导åºçè·¯å¾ --> |
| | | <package.path>${project.build.directory}/BLOG</package.path> |
| | |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-validation</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-all</artifactId> |
| | | <version>${hutool.version}</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <dependencyManagement> |
| | |
| | | import com.yuanchu.mom.pojo.dto.ManualTechnologyDto; |
| | | import com.yuanchu.mom.service.DeviceService; |
| | | import com.yuanchu.mom.service.ManualTechnologyService; |
| | | import com.yuanchu.mom.service.ManufactureSchedulingService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | @Autowired |
| | | private ManufactureOrderService manufactureOrderService; |
| | | |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | | |
| | | @Resource |
| | | ManualTechnologyService manualTechnologyService; |
| | | |
| | | @Resource |
| | | DeviceService deviceService; |
| | | |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢ç产订åå表") |
| | | @ApiImplicitParams(value = { |
| | |
| | | return Result.success(manualTechnologyService.seleDatil(manOrdId)); |
| | | } |
| | | |
| | | @ApiOperation(value = "ç¹å»æ¥çæäº§") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "manOrdId", value = "ç产订åid", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @GetMapping("/select_Scheduling") |
| | | public Result<?> selectScheduling(Integer manOrdId) { |
| | | return Result.success(manufactureSchedulingService.selectScheduling(manOrdId)); |
| | | } |
| | | |
| | | @ApiOperation(value = "ç¹å»æäº§-->äºçº§æ éæ©è®¾å¤") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "deviceGroup", value = "设å¤ç»", dataTypeClass = String.class, required = true) |
| | |
| | | } |
| | | |
| | | @ApiOperation(value = "ç¹å»æäº§-->ç¡®å®æé®") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "date", value = "æäº§å¼å§æ¥æ", dataTypeClass = String.class, required = true), |
| | | @ApiImplicitParam(name = "manOrdId", value = "ç产订åId", dataTypeClass = String.class, required = true), |
| | | @ApiImplicitParam(name = "schedulingNumber", value = "æäº§æ°é", dataTypeClass = Integer.class, required = true), |
| | | }) |
| | | @PostMapping("/output") |
| | | public Result<?> output(@RequestParam(value = "date") @NotBlank(message = "æäº§å¼å§æ¥æä¸è½ä¸ºç©º") String date, |
| | | @RequestParam(value = "manOrdId") @NotNull(message = "ç产订åIdä¸è½ä¸ºç©º") Integer manOrdId, |
| | | @RequestParam(value = "schedulingNumber") @NotNull(message = "æäº§æ°éä¸è½ä¸ºç©º") Integer schedulingNumber, |
| | | @Validated @RequestBody List<ManualTechnologyDto> manualTechnologyDtoList |
| | | ) throws ParseException { |
| | | manualTechnologyService.output(date, manOrdId, schedulingNumber, manualTechnologyDtoList); |
| | | return Result.success("æäº§æåï¼"); |
| | | public Result<?> output(@Validated @RequestBody ManualTechnologyDto manualTechnologyDto) throws ParseException { |
| | | // 夿è¾å
¥æ°éæ¯å¦è¶
åº |
| | | Integer isExceed = manufactureOrderService.checkScheduled(manualTechnologyDto.getManOrdId(), manualTechnologyDto.getSchedulingNumber()); |
| | | if (isExceed >= 0){ |
| | | manualTechnologyService.output(manualTechnologyDto); |
| | | return Result.success("æäº§æåï¼"); |
| | | } else { |
| | | MyUtil.PrintLog(isExceed.toString()); |
| | | int i = manualTechnologyDto.getSchedulingNumber() + isExceed; |
| | | return Result.fail("æäº§é误ï¼å½åå©ä½æäº§ä¸ºï¼" + i); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "ä¸è¾¾") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "manOrdId", value = "ç产订åid", dataTypeClass = Integer.class, required = true) |
| | | @ApiImplicitParam(name = "manufactureOrderId", value = "订åid", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "schedulingId", value = "æäº§Id", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @PostMapping("/down") |
| | | public Result<?> down(Integer manOrdId) { |
| | | manufactureOrderService.down(manOrdId); |
| | | public Result<?> down(Integer manufactureOrderId, Integer schedulingId) { |
| | | manufactureOrderService.down(manufactureOrderId, schedulingId); |
| | | return Result.success("ä¸è¾¾æå!"); |
| | | } |
| | | |
| | |
| | | package com.yuanchu.mom.controller; |
| | | |
| | | import com.yuanchu.mom.service.ManualTechnologyService; |
| | | import com.yuanchu.mom.service.ManufactureOrderService; |
| | | import com.yuanchu.mom.service.ProductionPlanService; |
| | | import com.yuanchu.mom.service.ManufactureSchedulingService; |
| | | import com.yuanchu.mom.vo.Result; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | @Api(tags = "ç产管ç-->ç产计å") |
| | | @RestController |
| | | @RequestMapping("/productionPlan") |
| | | public class ProductionPlanController { |
| | | |
| | | @Resource |
| | | ProductionPlanService productionPlanService; |
| | | @Autowired |
| | | private ManualTechnologyService manualTechnologyService; |
| | | |
| | | @Autowired |
| | | private ManufactureOrderService manufactureOrderService; |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢ç产计åå表") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "deviceId", value = "设å¤id", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "orderCode", value = "订åå·", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "name", value = "产ååç§°", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "startTime", value = "计åå¼å§æ¥æ", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "endTime", value = "计åç»ææ¥æ", dataTypeClass = String.class) |
| | | }) |
| | | @GetMapping("/selectAllPlan") |
| | | public Result selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime) { |
| | | return Result.success(productionPlanService.selectAllPlan(deviceId,orderCode,name,startTime,endTime)); |
| | | } |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | | |
| | | |
| | | @ApiOperation(value = "äºçº§æ ") |
| | | @GetMapping("/tow_tree") |
| | |
| | | |
| | | @ApiOperation(value = "æ¥çæäº§è¯¦æ
") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "manOrdId", value = "ç产订åid", dataTypeClass = Integer.class, required = true) |
| | | @ApiImplicitParam(name = "schedulingId", value = "æäº§id", dataTypeClass = Integer.class, required = true) |
| | | }) |
| | | @GetMapping("/sePros") |
| | | public Result sePros(Integer manOrdId) { |
| | | return Result.success(manufactureOrderService.sePros(manOrdId)); |
| | | public Result<?> sePros(Integer schedulingId) { |
| | | return Result.success(manufactureOrderService.sePros(schedulingId)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "æ ¹æ®çäº§è®¢åæ¥çç产计å") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "manOrdId", value = "ç产订åid", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "productName", value = "产ååç§°", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "startTime", value = "å¼å§æ¥æ", dataTypeClass = String.class), |
| | | @ApiImplicitParam(name = "endTime", value = "ç»ææ¥æ", dataTypeClass = String.class) |
| | | }) |
| | | @GetMapping("/produceTable") |
| | | public Result<?> selectProduceTable(Integer manOrdId, String productName, String startTime, String endTime) { |
| | | return Result.success(manufactureSchedulingService.selectProduceTable(manOrdId, productName, startTime, endTime)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "æ¥çæäº§è¯¦æ
-->失ç¦ä¿®æ¹æ¶é´") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "technologyId", value = "å·¥åºId", dataTypeClass = Integer.class, required = true), |
| | | @ApiImplicitParam(name = "startTime", value = "å¼å§æ¶é´", dataTypeClass = String.class, required = true, dataType = "date"), |
| | | }) |
| | | @GetMapping("/update_time") |
| | | public Result<?> updateTime(Integer technologyId, String startTime) { |
| | | Integer isUpdateSuccess = manualTechnologyService.updateTime(technologyId, startTime); |
| | | if (isUpdateSuccess >= 1) { |
| | | return Result.success("æ´æ°æåï¼"); |
| | | } |
| | | return Result.fail("æ´æ°å¤±è´¥ï¼"); |
| | | } |
| | | } |
| | |
| | | //æäº§-->æ¥ç |
| | | List<Map<String, Object>> seleDatil(Integer manOrdId); |
| | | |
| | | //æ¹éæ´æ° |
| | | void updateBatchManualTechnology(Integer schedulingNumber, List<ManualTechnology> manualTechnologies); |
| | | |
| | | List<Map<String, Object>> selectListTowTree(Integer schedulingId); |
| | | } |
| | | |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.yuanchu.mom.pojo.ManufactureOrder; |
| | | import com.yuanchu.mom.pojo.dto.ManufactureOrderDto; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | //æ¥è¯¢ç产订åå表 |
| | | IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type); |
| | | |
| | | |
| | | //æ¥çç产计å |
| | | List<Map<String, Object>> selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime); |
| | | |
| | | void deleteManufacture(List<String> manOrdId); |
| | | |
| | | List<Map<String, Object>> towTree(); |
| | | |
| | | void updateManufacture(Integer manufactureOrderId, Integer manufactureOrder); |
| | | void updateManufacture(Integer manufactureOrderId, Integer schedulingNumber); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.mybatis_config.MyBaseMapper; |
| | | import com.yuanchu.mom.pojo.ManufactureOrderProcess; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§å¯¹åºå·¥åº Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 02:46:48 |
| | | */ |
| | | public interface ManufactureOrderProcessMapper extends MyBaseMapper<ManufactureOrderProcess> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.mapper; |
| | | |
| | | import com.yuanchu.mom.pojo.ManufactureScheduling; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§è¡¨ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 11:54:28 |
| | | */ |
| | | public interface ManufactureSchedulingMapper extends BaseMapper<ManufactureScheduling> { |
| | | |
| | | List<Map<String, Object>> selectScheduling(Integer manOrdId); |
| | | |
| | | List<Map<String, Object>> selectProduceTable(Integer manOrdId, String productName, String startTime, String endTime); |
| | | |
| | | Map<String, Object> sePros(Integer schedulingId); |
| | | } |
| | |
| | | **/ |
| | | private String deviceGroup; |
| | | |
| | | /** |
| | | * å
³è 设å¤id |
| | | **/ |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty(value = "å
³è å·¥èºId") |
| | | private Integer technologyId; |
| | | @ApiModelProperty(value = "ç产å®é¢(个/天)") |
| | | private Integer productionQuota; |
| | | |
| | | /** |
| | | * å
³è ç产订åid |
| | |
| | | private Integer manufactureOrderId; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * å¼å§æ¥æ(计å) |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date startTime; |
| | | |
| | | /** |
| | | * ç»ææ¥æ(计å) |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date endTime; |
| | | |
| | | /** |
| | | * 卿 |
| | | **/ |
| | | private Integer period; |
| | | |
| | | @ApiModelProperty(value = "æäº§æ°é") |
| | | private Integer schedulingNumber; |
| | | } |
| | | |
| | |
| | | **/ |
| | | private Integer number; |
| | | |
| | | @ApiModelProperty(value = "å·²æäº§æ°é") |
| | | private Integer scheduledProduction; |
| | | /** |
| | | * ä¸åæ¥æ |
| | | **/ |
| | |
| | | private Date deltime; |
| | | |
| | | /** |
| | | * ç¶æ0:å¾
æäº§;1:å·²æäº§ |
| | | **/ |
| | | private Integer type; |
| | | |
| | | /** |
| | | * è´¨éè¿½æº¯å· |
| | | **/ |
| | | private String qualityTraceability; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDate; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import lombok.experimental.Accessors; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§å¯¹åºå·¥åº |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 02:46:48 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @TableName("manufacture_order_process") |
| | | @ApiModel(value = "ManufactureOrderProcess对象", description = "æäº§å¯¹åºå·¥åº") |
| | | public class ManufactureOrderProcess implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("主é®Id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å
³è 设å¤Id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("å¼å§æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date startTime; |
| | | |
| | | @ApiModelProperty("ç»ææ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date endTime; |
| | | |
| | | @ApiModelProperty("卿") |
| | | private Integer period; |
| | | |
| | | @ApiModelProperty("å
³è ç¼å¶å·¥åºè¡¨Id") |
| | | private Integer manualTechnologyId; |
| | | |
| | | @ApiModelProperty("å
³è æäº§è¡¨ Id") |
| | | private Integer manufactureSchedulingId; |
| | | |
| | | @ApiModelProperty(value = "é»è¾å é¤ æ£å¸¸>=1,å é¤<=0", hidden = true) |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDate; |
| | | import java.util.Date; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.*; |
| | | import lombok.experimental.Accessors; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§è¡¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 11:54:28 |
| | | */ |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value = "ManufactureScheduling对象", description = "æäº§è¡¨") |
| | | public class ManufactureScheduling implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("主é®Id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å¼å§æ¶é´") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date startTime; |
| | | |
| | | @ApiModelProperty("ç»ææ¶é´") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date endTime; |
| | | |
| | | @ApiModelProperty("ä¸è¾¾ç¶æ") |
| | | private Integer goState; |
| | | |
| | | @ApiModelProperty("å·²æäº§æ°é") |
| | | private Integer scheduled; |
| | | |
| | | @ApiModelProperty("å
³èç产订åId") |
| | | private Integer manufactureOrderId; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date updateTime; |
| | | |
| | | @ApiModelProperty("é»è¾å é¤") |
| | | @TableLogic(value = "1", delval = "0") |
| | | private Integer state; |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | //æ´æ°æäº§(éæ©è®¾å¤) |
| | | public class ManualTechnologyDto { |
| | | |
| | | //å·¥åºid |
| | | @NotNull(message = "å·¥åºIdä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "å·¥åºId", example = "1", required = true) |
| | | private Integer id; |
| | | @NotBlank(message = "æäº§å¼å§æ¥æä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "æäº§å¼å§æ¥æ", example = "2023-08-31", required = true, dataType = "date") |
| | | private String date; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºId", example = "2", required = true) |
| | | private Integer technologyId; |
| | | @NotNull(message = "ç产订åIdä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "ç产订åId", example = "3", required = true) |
| | | private Integer manOrdId; |
| | | |
| | | @NotNull(message = "设å¤idä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "设å¤Id", example = "1", required = true) |
| | | private Integer deviceId; |
| | | @NotNull(message = "æäº§æ°éä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "æäº§æ°é", example = "20", required = true) |
| | | private Integer schedulingNumber; |
| | | |
| | | private List<ManualTechnologyDto1> orderProcess; |
| | | } |
| | |
| | | |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.util.Date; |
| | | |
| | | //æ¥çæäº§è¯¦æ
ä¸ç计åç¼å¶ |
| | | @Data |
| | | public class ManualTechnologyDto1 { |
| | | |
| | | /** |
| | | * å·¥åºid |
| | | **/ |
| | | private Integer mtechId; |
| | | @NotNull(message = "å·¥åºIdä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "å·¥åºId", example = "1", required = true) |
| | | private Integer manualTechnologyId; |
| | | |
| | | /** |
| | | * å·¥åºåç§° |
| | | **/ |
| | | private String techname; |
| | | |
| | | /** |
| | | * å·¥åºç¶ç±» |
| | | **/ |
| | | private String techfather; |
| | | |
| | | |
| | | /** |
| | | * 设å¤å(æºå°) |
| | | **/ |
| | | private String deviceName; |
| | | |
| | | |
| | | /** |
| | | * å¼å§æ¥æ(计å) |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date startTime; |
| | | |
| | | /** |
| | | * ç»ææ¥æ(计å) |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date endTime; |
| | | |
| | | /** |
| | | * 卿 |
| | | **/ |
| | | private Integer period; |
| | | @NotNull(message = "设å¤idä¸è½ä¸ºç©º") |
| | | @ApiModelProperty(value = "设å¤Id", example = "1", required = true) |
| | | private Integer deviceId; |
| | | } |
| | |
| | | |
| | | /** |
| | | * æäº§==>æ´æ° |
| | | * @param manualTechnologyDtoList |
| | | */ |
| | | void output(String date, Integer manufactureOrderId, Integer schedulingNumber, List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException; |
| | | void output(ManualTechnologyDto manualTechnologyDto) throws ParseException; |
| | | |
| | | /** |
| | | * æ¥çæäº§è¯¦æ
-->失ç¦ä¿®æ¹æ¶é´ |
| | | * @param startTime å¼å§æ¶é´ |
| | | * @return |
| | | */ |
| | | Integer updateTime(Integer technologyId, String startTime); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.ManufactureOrderProcess; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§å¯¹åºå·¥åº æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 02:46:48 |
| | | */ |
| | | public interface ManufactureOrderProcessService extends IService<ManufactureOrderProcess> { |
| | | |
| | | void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.yuanchu.mom.pojo.ManufactureOrder; |
| | | import com.yuanchu.mom.pojo.dto.ManufactureOrderDto; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | |
| | | |
| | | /** |
| | | * æ¥çæäº§è¯¦æ
|
| | | * @param manOrdId |
| | | * @param schedulingId |
| | | * @return |
| | | */ |
| | | ManufactureOrderDto sePros(Integer manOrdId); |
| | | Map<String, Object> sePros(Integer schedulingId); |
| | | |
| | | /** |
| | | * ä¸è¾¾ |
| | | * @param manOrdId |
| | | * @param manufactureOrderId 订åId |
| | | * @param schedulingId æäº§Id |
| | | */ |
| | | void down(Integer manOrdId); |
| | | void down(Integer manufactureOrderId, Integer schedulingId); |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | |
| | | * @return |
| | | */ |
| | | List<Map<String, Object>> towTree(); |
| | | |
| | | /** |
| | | * 夿è¾å
¥æ°éæ¯å¦è¶
åº |
| | | * @param manOrdId 订åId |
| | | * @param schedulingNumber ç¨æ·è¾å
¥æ°é |
| | | */ |
| | | Integer checkScheduled(Integer manOrdId, Integer schedulingNumber); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service; |
| | | |
| | | import com.yuanchu.mom.pojo.ManufactureOrder; |
| | | import com.yuanchu.mom.pojo.ManufactureScheduling; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§è¡¨ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 11:54:28 |
| | | */ |
| | | public interface ManufactureSchedulingService extends IService<ManufactureScheduling> { |
| | | |
| | | List<Map<String, Object>> selectScheduling(Integer manOrdId); |
| | | |
| | | List<Map<String, Object>> selectProduceTable(Integer manOrdId, String productName, String startTime, String endTime); |
| | | |
| | | Map<String, Object> sePros(Integer schedulingId); |
| | | } |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUnit; |
| | | 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.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.DeviceMapper; |
| | | import com.yuanchu.mom.mapper.ManualTechnologyMapper; |
| | | import com.yuanchu.mom.mapper.ManufactureOrderMapper; |
| | | import com.yuanchu.mom.pojo.ManualTechnology; |
| | | import com.yuanchu.mom.pojo.ManufactureOrder; |
| | | import com.yuanchu.mom.pojo.Technology; |
| | | import com.yuanchu.mom.pojo.*; |
| | | import com.yuanchu.mom.pojo.dto.ManualTechnologyDto; |
| | | import com.yuanchu.mom.pojo.dto.ManualTechnologyDto1; |
| | | import com.yuanchu.mom.service.ManualTechnologyService; |
| | | import com.yuanchu.mom.service.ManufactureOrderProcessService; |
| | | import com.yuanchu.mom.service.ManufactureSchedulingService; |
| | | import com.yuanchu.mom.service.TechnologyService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | @Autowired |
| | | private TechnologyService technologyService; |
| | | |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | | |
| | | @Autowired |
| | | private ManufactureOrderProcessService manufactureOrderProcessService; |
| | | |
| | | //æäº§-->æ¥ç |
| | | @Override |
| | | public List<Map<String, Object>> seleDatil(Integer manOrdId) { |
| | | |
| | | return manualTechnologyMapper.seleDatil(manOrdId); |
| | | } |
| | | |
| | | //æäº§-->æ´æ° |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void output(String date, Integer manufactureOrderId, Integer schedulingNumber, List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException { |
| | | // æ¥è¯¢å·¥èºï¼ç¨äºå¹é
æ¯ä¸ªè®¢åçå·¥åºå¨æ |
| | | LambdaQueryWrapper<Technology> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.select(Technology::getId, Technology::getProductionQuota); |
| | | List<Technology> technologies = technologyService.list(wrapper); |
| | | public void output(ManualTechnologyDto manualTechnologyDto) throws ParseException { |
| | | |
| | | // æ ¹æ®æäº§æ°é计ç®å·¥èºå¨æ |
| | | List<ManufactureOrderProcess> manufactureOrderProcessesPeriod = matchingCycle( |
| | | manualTechnologyDto.getSchedulingNumber(), |
| | | manualTechnologyDto.getManOrdId(), |
| | | manualTechnologyDto.getOrderProcess()); |
| | | |
| | | |
| | | // æ ¹æ®å·¥åºç产å®é¢å¹é
æ¶é´ |
| | | List<ManufactureOrderProcess> manufactureOrderProcessesDate = datePeriodCalculate( |
| | | manualTechnologyDto.getDate(), |
| | | manufactureOrderProcessesPeriod); |
| | | |
| | | |
| | | // æ·»å 䏿¡æäº§è®°å½å°manufacture_schedulingè¡¨æ ¼ï¼è¿å主é®Id |
| | | Date endTime = manufactureOrderProcessesDate.get(manufactureOrderProcessesDate.size() - 1).getEndTime(); |
| | | ManufactureScheduling manufactureScheduling = new ManufactureScheduling() |
| | | .setScheduled(manualTechnologyDto.getSchedulingNumber()) |
| | | .setStartTime(DateUtil.parse(manualTechnologyDto.getDate())) |
| | | .setEndTime(endTime) |
| | | .setManufactureOrderId(manualTechnologyDto.getManOrdId()) |
| | | .setGoState(0); // 0 表示å¾
ä¸è¾¾ |
| | | manufactureSchedulingService.save(manufactureScheduling); |
| | | |
| | | |
| | | // å°æè¡¨Idæå
¥å°manufactureOrderProcessesDateä¸, å¼å§æ¹éæå
¥manufactureOrderProcessesè¡¨æ ¼ |
| | | manufactureOrderProcessesDate.forEach(i -> i.setManufactureSchedulingId(manufactureScheduling.getId())); |
| | | manufactureOrderProcessService.batchInsert(manufactureOrderProcessesDate); |
| | | |
| | | |
| | | // æ´æ°è®¢åçå·²æäº§æ°é |
| | | manufactureOrderMapper.updateManufacture(manualTechnologyDto.getManOrdId(), manualTechnologyDto.getSchedulingNumber()); |
| | | } |
| | | |
| | | @Override |
| | | public Integer updateTime(Integer technologyId, String startTime) { |
| | | // // Hutool å·¥å
·ç±»è®¡ç®é´éå°æ¶ |
| | | // DateTime startTime1 = DateUtil.parse(startTime); |
| | | // DateTime endTime1 = DateUtil.parse(endTime); |
| | | // long between = DateUtil.between(startTime1, endTime1, DateUnit.HOUR); |
| | | // // æ´æ° |
| | | // LambdaUpdateWrapper<ManualTechnology> updateWrapper = Wrappers.<ManualTechnology>lambdaUpdate() |
| | | // .eq(ManualTechnology::getId, technologyId); |
| | | // return manualTechnologyMapper.update(new ManualTechnology(), updateWrapper); |
| | | return null; |
| | | } |
| | | |
| | | // æ ¹æ®æäº§æ°é计ç®å·¥èºå¨æ |
| | | private List<ManufactureOrderProcess> matchingCycle(Integer schedulingNumber, Integer manOrdId, List<ManualTechnologyDto1> manualTechnologyDtoList){ |
| | | // æ¥è¯¢ç¼å¶å·¥èºï¼ç¨äºå¹é
æ¯ä¸ªè®¢åçå·¥åºå¨æ |
| | | LambdaQueryWrapper<ManualTechnology> queryWrapper = Wrappers.<ManualTechnology>lambdaQuery() |
| | | .eq(ManualTechnology::getManufactureOrderId, manOrdId); |
| | | List<ManualTechnology> technologies = manualTechnologyMapper.selectList(queryWrapper); |
| | | |
| | | //å¹é
æ¯ä¸ªè®¢åçå·¥åºå¨æ |
| | | List<ManualTechnology> manualTechnologies = manualTechnologyDtoList.stream().map(manualTechnologyDto -> { |
| | | ManualTechnology manualTechnology = new ManualTechnology(); |
| | | BeanUtils.copyProperties(manualTechnologyDto, manualTechnology); |
| | | List<ManufactureOrderProcess> manufactureOrderProcessList = manualTechnologyDtoList.stream().map(manualTechnologyDto1 -> { |
| | | ManufactureOrderProcess manufactureOrderProcess = new ManufactureOrderProcess(); |
| | | BeanUtils.copyProperties(manualTechnologyDto1, manufactureOrderProcess); |
| | | technologies.forEach(i -> { |
| | | if (Objects.equals(manualTechnology.getTechnologyId(), i.getId())){ |
| | | manualTechnology.setPeriod((int) Math.ceil((double)schedulingNumber/i.getProductionQuota())); |
| | | if (Objects.equals(manufactureOrderProcess.getManualTechnologyId(), i.getId())){ |
| | | manufactureOrderProcess.setPeriod((int) Math.ceil((double)schedulingNumber/i.getProductionQuota())); |
| | | } |
| | | }); |
| | | return manualTechnology; |
| | | return manufactureOrderProcess; |
| | | }).collect(Collectors.toList()); |
| | | return manufactureOrderProcessList; |
| | | } |
| | | |
| | | |
| | | // æ ¹æ®å·¥åºç产å®é¢å¹é
æ¶é´ |
| | | private List<ManufactureOrderProcess> datePeriodCalculate(String date, List<ManufactureOrderProcess> manualTechnologies) throws ParseException { |
| | | // 计ç®å·¥åºçå¼å§æ¥æä»¥åç»ææ¥æ |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Date parse = dateFormat.parse(date); |
| | |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(parse); |
| | | //第ä¸ä¸ªå·¥åº |
| | | ManualTechnology manualTechnology = manualTechnologies.get(0); |
| | | ManufactureOrderProcess manualTechnology = manualTechnologies.get(0); |
| | | calendar.add(Calendar.DATE, manualTechnology.getPeriod()); |
| | | |
| | | |
| | | manualTechnology.setStartTime(parse).setEndTime(calendar.getTime()); |
| | | //循ç¯èµå¼æ¶é´ |
| | | for (int i = 0; i < manualTechnologies.size()-1 ; i++) { |
| | | Calendar calendar1 = Calendar.getInstance(); |
| | | calendar1.setTime(manualTechnologies.get(i).getEndTime()); |
| | | ManualTechnology technology = manualTechnologies.get(i + 1); |
| | | ManufactureOrderProcess technology = manualTechnologies.get(i + 1); |
| | | calendar1.add(Calendar.DATE,1); |
| | | technology.setStartTime(calendar1.getTime()); |
| | | calendar1.add(Calendar.DATE,technology.getPeriod()); |
| | | technology.setEndTime(calendar1.getTime()); |
| | | } |
| | | |
| | | |
| | | // æ°æ®å¤ç宿å¼å§æ¹éæ´æ°Mysql |
| | | manualTechnologyMapper.updateBatchManualTechnology(schedulingNumber, manualTechnologies); |
| | | |
| | | |
| | | // å·¥åºæ´æ°å®æ¯ï¼æ´æ°è®¢åçç¶æï¼å°å
¶æ´æ°ä¸ºå·²æäº§ï¼1ï¼è¿æå¾
ä¸è¾¾ï¼0 |
| | | manufactureOrderMapper.updateManufacture(manufactureOrderId, schedulingNumber); |
| | | return manualTechnologies; |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.yuanchu.mom.pojo.ManufactureOrderProcess; |
| | | import com.yuanchu.mom.mapper.ManufactureOrderProcessMapper; |
| | | import com.yuanchu.mom.service.ManufactureOrderProcessService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§å¯¹åºå·¥åº æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 02:46:48 |
| | | */ |
| | | @Service |
| | | public class ManufactureOrderProcessServiceImpl extends ServiceImpl<ManufactureOrderProcessMapper, ManufactureOrderProcess> implements ManufactureOrderProcessService { |
| | | |
| | | @Resource |
| | | private ManufactureOrderProcessMapper manufactureOrderProcessMapper; |
| | | |
| | | @Override |
| | | public void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate) { |
| | | manufactureOrderProcessMapper.insertBatchSomeColumn(manufactureOrderProcessesDate); |
| | | } |
| | | } |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | 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.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.DeviceMapper; |
| | | import com.yuanchu.mom.mapper.ManualTechnologyMapper; |
| | | import com.yuanchu.mom.mapper.ManufactureOrderMapper; |
| | | import com.yuanchu.mom.pojo.ManualTechnology; |
| | | import com.yuanchu.mom.pojo.ManufactureOrder; |
| | | import com.yuanchu.mom.pojo.dto.ManualTechnologyDto1; |
| | | import com.yuanchu.mom.pojo.dto.ManufactureOrderDto; |
| | | import com.yuanchu.mom.pojo.ManufactureScheduling; |
| | | import com.yuanchu.mom.service.ManufactureOrderService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import com.yuanchu.mom.service.ManufactureSchedulingService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * ç产订å表(ManufactureOrder)表æå¡å®ç°ç±» |
| | |
| | | @Resource |
| | | ManualTechnologyMapper manualTechnologyMapper; |
| | | |
| | | @Resource |
| | | DeviceMapper deviceMapper; |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | | |
| | | //æ¥è¯¢ç产订åçå表 |
| | | @Override |
| | |
| | | return manufactureOrderMapper.selectAllManord(page,downTime,delTime,customerCode,type); |
| | | } |
| | | |
| | | |
| | | //æ¥çæäº§è¯¦æ
|
| | | @Override |
| | | public ManufactureOrderDto sePros(Integer manOrdId) { |
| | | ManufactureOrderDto manufactureOrderDto = new ManufactureOrderDto(); |
| | | public Map<String, Object> sePros(Integer schedulingId) { |
| | | //åºæ¬ä¿¡æ¯ |
| | | ManufactureOrder manufactureOrder = manufactureOrderMapper.selectById(manOrdId); |
| | | BeanUtils.copyProperties(manufactureOrder,manufactureOrderDto); |
| | | Map<String, Object> manufactureOrder = manufactureSchedulingService.sePros(schedulingId); |
| | | //计åç¼å¶ |
| | | List<ManualTechnology> manualTechnologies = manualTechnologyMapper.selectList(Wrappers.<ManualTechnology>query().eq("manufacture_order_id", manOrdId)); |
| | | MyUtil.PrintLog(manualTechnologies.toString()); |
| | | |
| | | // List<ManualTechnologyDto1> manualTechnologyDto1s = manualTechnologies.stream().map(manualTechnology -> { |
| | | // ManualTechnologyDto1 manualTechnologyDto1 = new ManualTechnologyDto1(); |
| | | // BeanUtils.copyProperties(manualTechnology, manualTechnologyDto1); |
| | | // manualTechnologyDto1.setMtechId(manualTechnology.getId()); |
| | | // manualTechnologyDto1.setDeviceName(deviceMapper.selectById(manualTechnology.getDeviceId()).getName()); |
| | | // return manualTechnologyDto1; |
| | | // }).collect(Collectors.toList()); |
| | | // manufactureOrderDto.setMessage(manualTechnologyDto1s); |
| | | return manufactureOrderDto; |
| | | List<Map<String, Object>> mapList = manualTechnologyMapper.selectListTowTree(schedulingId); |
| | | manufactureOrder.put("message",mapList); |
| | | return manufactureOrder; |
| | | } |
| | | |
| | | //ä¸è¾¾ |
| | | @Override |
| | | public void down(Integer manOrdId) { |
| | | ManufactureOrder manufactureOrder = new ManufactureOrder().setId(manOrdId).setGoState(1).setType(0); |
| | | manufactureOrderMapper.updateById(manufactureOrder); |
| | | public void down(Integer manufactureOrderId, Integer schedulingId) { |
| | | // å
æ´æ°æäº§ |
| | | LambdaUpdateWrapper<ManufactureScheduling> updateWrapperScheduling = Wrappers.<ManufactureScheduling>lambdaUpdate() |
| | | .eq(ManufactureScheduling::getId, schedulingId) |
| | | .set(ManufactureScheduling::getGoState, 1); |
| | | manufactureSchedulingService.update(updateWrapperScheduling); |
| | | |
| | | |
| | | // ç¶åæ´æ°è®¢å表çç¶æ |
| | | LambdaQueryWrapper<ManufactureScheduling> queryWrapper = Wrappers.<ManufactureScheduling>lambdaQuery() |
| | | .eq(ManufactureScheduling::getManufactureOrderId, manufactureOrderId) |
| | | .select(ManufactureScheduling::getGoState); |
| | | List<ManufactureScheduling> list = manufactureSchedulingService.list(queryWrapper); |
| | | boolean goStateAll = false; |
| | | for (int i = 0; i <= list.size() - 1; i++){ |
| | | if (list.get(i).getGoState() == 0) { |
| | | goStateAll = true; |
| | | break; |
| | | } |
| | | } |
| | | LambdaUpdateWrapper<ManufactureOrder> updateWrapperOrder = new LambdaUpdateWrapper<>(); |
| | | updateWrapperOrder.eq(ManufactureOrder::getId, manufactureOrderId); |
| | | // 妿æäº§è¡¨ä¸æä¸ä¸ªæ¯å¾
ä¸è¾¾ï¼é£ä¹è®¢å表ä¸å°±ä¸ºå¾
ä¸è¾¾ |
| | | if (goStateAll){ |
| | | // å¾
ä¸è¾¾ |
| | | updateWrapperOrder.set(ManufactureOrder::getGoState, 0); |
| | | } else { |
| | | // å·²ä¸è¾¾ |
| | | updateWrapperOrder.set(ManufactureOrder::getGoState, 1); |
| | | } |
| | | manufactureOrderMapper.update(new ManufactureOrder(), updateWrapperOrder); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public List<Map<String, Object>> towTree() { |
| | | return manufactureOrderMapper.towTree(); |
| | | } |
| | | |
| | | @Override |
| | | public Integer checkScheduled(Integer manOrdId, Integer schedulingNumber) { |
| | | LambdaQueryWrapper<ManufactureOrder> queryWrapper = Wrappers.<ManufactureOrder>lambdaQuery() |
| | | .eq(ManufactureOrder::getId, manOrdId) |
| | | .eq(ManufactureOrder::getState, 1) |
| | | .select(ManufactureOrder::getNumber, ManufactureOrder::getScheduledProduction); |
| | | ManufactureOrder manufactureOrder = manufactureOrderMapper.selectOne(queryWrapper); |
| | | if (ObjectUtils.isEmpty(manufactureOrder.getScheduledProduction())){ |
| | | manufactureOrder.setScheduledProduction(0); |
| | | } |
| | | return manufactureOrder.getNumber() - (manufactureOrder.getScheduledProduction() + schedulingNumber); |
| | | } |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.yuanchu.mom.pojo.ManufactureScheduling; |
| | | import com.yuanchu.mom.mapper.ManufactureSchedulingMapper; |
| | | import com.yuanchu.mom.service.ManufactureSchedulingService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æäº§è¡¨ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2023-08-31 11:54:28 |
| | | */ |
| | | @Service |
| | | public class ManufactureSchedulingServiceImpl extends ServiceImpl<ManufactureSchedulingMapper, ManufactureScheduling> implements ManufactureSchedulingService { |
| | | |
| | | @Resource |
| | | private ManufactureSchedulingMapper manufactureSchedulingMapper; |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectScheduling(Integer manOrdId) { |
| | | return manufactureSchedulingMapper.selectScheduling(manOrdId); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> selectProduceTable(Integer manOrdId, String productName, String startTime, String endTime) { |
| | | return manufactureSchedulingMapper.selectProduceTable(manOrdId, productName, startTime, endTime); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> sePros(Integer schedulingId) { |
| | | return manufactureSchedulingMapper.sePros(schedulingId); |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.yuanchu.mom.mapper.ManualTechnologyMapper"> |
| | | <!--æ¹éæ´æ°--> |
| | | <update id="updateBatchManualTechnology"> |
| | | UPDATE mom_ocean.manual_technology |
| | | <trim prefix="set" suffixOverrides=","> |
| | | <trim prefix="device_id=case" suffix="end,"> |
| | | <foreach collection="manualTechnologies" item="manualTechnologie"> |
| | | WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.deviceId} |
| | | </foreach> |
| | | </trim> |
| | | <trim prefix="start_time=case" suffix="end,"> |
| | | <foreach collection="manualTechnologies" item="manualTechnologie"> |
| | | WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.startTime} |
| | | </foreach> |
| | | </trim> |
| | | <trim prefix="end_time=case" suffix="end,"> |
| | | <foreach collection="manualTechnologies" item="manualTechnologie"> |
| | | WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.endTime} |
| | | </foreach> |
| | | </trim> |
| | | <trim prefix="scheduling_number=case" suffix="end,"> |
| | | <foreach collection="manualTechnologies" item="manualTechnologie"> |
| | | WHEN id =#{manualTechnologie.id} THEN #{schedulingNumber} |
| | | </foreach> |
| | | </trim> |
| | | </trim> |
| | | <where> |
| | | <foreach collection="manualTechnologies" separator="or" item="manualTechnologie"> |
| | | id =#{manualTechnologie.id} |
| | | </foreach> |
| | | </where> |
| | | </update> |
| | | |
| | | <resultMap id="seleDatilMap" type="map"> |
| | | <id property="lable" column="techfather"/> |
| | |
| | | <id property="lable" column="techname"/> |
| | | <result property="id" column="id"/> |
| | | <result property="deviceGroup" column="device_group"/> |
| | | <result property="deviceName" column="name"/> |
| | | <result property="technologyId" column="manufacture_order_id"/> |
| | | </resultMap> |
| | | |
| | |
| | | select manual_technology.id, |
| | | techfather, |
| | | techname, |
| | | device_group, |
| | | name, |
| | | manufacture_order_id |
| | | device_group |
| | | from mom_ocean.manual_technology |
| | | left join mom_ocean.device |
| | | on device.id = device_id |
| | | where manufacture_order_id = #{manOrdId} |
| | | </select> |
| | | |
| | | <resultMap id="selectListTowTreeFirstMap" type="map"> |
| | | <id property="techfather" column="techfather"/> |
| | | <collection property="children" javaType="list" resultMap="selectListTowTreeSecondMap"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectListTowTreeSecondMap" type="map"> |
| | | <id property="id" column="id"/> |
| | | <result property="techname" column="techname"/> |
| | | <result property="deviceName" column="name"/> |
| | | <result property="startTime" column="start_time"/> |
| | | <result property="endTime" column="end_time"/> |
| | | <result property="period" column="period"/> |
| | | </resultMap> |
| | | <select id="selectListTowTree" resultMap="selectListTowTreeFirstMap"> |
| | | SELECT p.`id`, t.`techfather`, t.`techname`, d.`name`, DATE_FORMAT(p.`start_time`, '%Y-%m-%d') start_time, |
| | | DATE_FORMAT(p.`end_time`, '%Y-%m-%d') end_time, p.`period` |
| | | FROM manufacture_order_process p |
| | | LEFT JOIN device d ON d.`id` = p.`device_id` |
| | | LEFT JOIN manual_technology t ON t.`id` = p.`manual_technology_id` |
| | | WHERE p.`state` = 1 |
| | | AND p.`manufacture_scheduling_id` = #{schedulingId} |
| | | </select> |
| | | </mapper> |
| | |
| | | specifications, |
| | | unit, |
| | | number, |
| | | DATE_FORMAT(downTime, '%Y-%m-%d') 'ä¸åæ¥æ', |
| | | DATE_FORMAT(delTime, '%Y-%m-%d') 'äº¤è´§æ¥æ', |
| | | scheduled_production, |
| | | DATE_FORMAT(downTime, '%Y-%m-%d') downTime, |
| | | DATE_FORMAT(delTime, '%Y-%m-%d') delTime, |
| | | go_state, |
| | | type |
| | | from mom_ocean.manufacture_order |
| | | where state=1 |
| | | <if test="downTime!=null and downTime!=''"> |
| | |
| | | <if test="type!=null"> |
| | | and type=#{type} |
| | | </if> |
| | | </select> |
| | | <!--æ¥çç产计å--> |
| | | <select id="selectAllPlan" resultType="java.util.Map"> |
| | | select order_code, |
| | | name, |
| | | specifications, |
| | | unit, |
| | | number, |
| | | proname, |
| | | saleman, |
| | | downman, |
| | | techname, |
| | | DATE_FORMAT(start_time, '%Y-%m-%d') '计åå¼å§æ¥æ', |
| | | DATE_FORMAT(end_time, '%Y-%m-%d') '计åç»ææ¥æ' |
| | | from mom_ocean.manual_technology mt |
| | | left join mom_ocean.manufacture_order mo |
| | | on mt.manufacture_order_id = mo.id |
| | | where mo.state=1 |
| | | and go_state=1 |
| | | and device_id=#{deviceId} |
| | | <if test="orderCode!=null and orderCode!=''"> |
| | | and order_code like concat('%',#{orderCode},'%') |
| | | </if> |
| | | <if test="startTime!=null and startTime!=''"> |
| | | and DATE_FORMAT(start_time, '%Y-%m-%d')=#{startTime} |
| | | </if> |
| | | <if test="endTime!=null and endTime!=''"> |
| | | and DATE_FORMAT(end_time, '%Y-%m-%d')=#{endTime} |
| | | </if> |
| | | order by start_time |
| | | </select> |
| | | |
| | | <update id="deleteManufacture"> |
| | |
| | | |
| | | <update id="updateManufacture"> |
| | | UPDATE manufacture_order m |
| | | SET m.`type` = 1, m.`go_state` = 0, m.`scheduled_production` = m.`scheduled_production` + #{schedulingNumber} |
| | | SET m.`go_state` = 0, m.`scheduled_production` = IFNULL(m.`scheduled_production`, 0) + #{schedulingNumber} |
| | | where m.id = #{manufactureOrderId} |
| | | </update> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!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"> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.yuanchu.mom.mapper.ManufactureSchedulingMapper"> |
| | | |
| | | <select id="selectScheduling" resultType="map"> |
| | | SELECT m.`id`, DATE_FORMAT(m.`create_time`, '%Y-%m-%d') createTime, |
| | | DATE_FORMAT(m.`end_time`, '%Y-%m-%d') endTime, m.`scheduled`, m.`go_state`, |
| | | DATE_FORMAT(m.`start_time`, '%Y-%m-%d') startTime |
| | | FROM manufacture_scheduling m |
| | | WHERE m.`manufacture_order_id` = 3 |
| | | AND m.`state` = 1 |
| | | </select> |
| | | |
| | | <select id="selectProduceTable" resultType="map"> |
| | | SELECT m.`id`, o.`name`, o.`specifications`, o.`unit`, m.`scheduled`, o.`proname`, o.`saleman`, |
| | | o.`downman`, DATE_FORMAT(m.`start_time`, '%Y-%m-%d') startTime, DATE_FORMAT(m.`end_time`, '%Y-%m-%d') endTime |
| | | FROM manufacture_scheduling m, manufacture_order o |
| | | WHERE m.`manufacture_order_id` = #{manOrdId} |
| | | AND m.`manufacture_order_id` = o.`id` |
| | | AND m.`state` = 1 |
| | | <if test="productName != null and productName != ''"> |
| | | AND o.`name` LIKE CONCAT('%', #{productName}, '%') |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | AND m.`start_time` >= #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | AND m.`end_time` <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="sePros" resultType="map"> |
| | | SELECT s.`scheduled`, o.`order_code`, o.`customer_code`, o.`name`, o.`specifications`, o.`unit`, |
| | | DATE_FORMAT(o.`downTime`, '%Y-%m-%d') downTime, DATE_FORMAT(o.`delTime`, '%Y-%m-%d') delTime |
| | | FROM manufacture_scheduling s, manufacture_order o |
| | | WHERE s.`manufacture_order_id` = o.`id` |
| | | AND s.`id` = #{schedulingId} |
| | | </select> |
| | | </mapper> |
| | |
| | | public static String database_username = "user"; |
| | | public static String database_password= "123456"; |
| | | public static String author = "æ±èéµ·éç½ç»ç§ææéå
¬å¸"; |
| | | public static String model_name = "/inspect-server"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ |
| | | public static String model_name = "/production-server"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ |
| | | public static String setParent = "com.yuanchu.mom"; // å
è·¯å¾ |
| | | public static void main(String[] args) { |
| | | String projectPath = System.getProperty("user.dir"); |
| | |
| | | package com.yuanchu.mom; |
| | | |
| | | import com.yuanchu.mom.mapper.ManufactureOrderMapper; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import com.yuanchu.mom.mapper.ManualTechnologyMapper; |
| | | import com.yuanchu.mom.pojo.ManualTechnology; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | |
| | | @SpringBootTest |
| | | class SystemRunApplicationTest { |
| | | |
| | | @Resource |
| | | private ManufactureOrderMapper manufactureOrderMapper; |
| | | private ManualTechnologyMapper manualTechnologyMapper; |
| | | @Test |
| | | void contextLoads() { |
| | | ManualTechnology manualTechnology = new ManualTechnology() |
| | | .setTechname("tets") |
| | | .setTechfather("test") |
| | | .setDeviceGroup("grop") |
| | | .setDeviceId(1) |
| | | .setTechnologyId(2) |
| | | .setManufactureOrderId(1) |
| | | .setSchedulingNumber(12); |
| | | manualTechnologyMapper.insert(manualTechnology); |
| | | } |
| | | } |