Commit 9d4919cc authored by chicheng's avatar chicheng

工序完工后端接口添加

parent fa4ec878
...@@ -30,6 +30,13 @@ public class SfctbController { ...@@ -30,6 +30,13 @@ public class SfctbController {
public void createForTransfer(@RequestBody SfctbCreateParams params) { public void createForTransfer(@RequestBody SfctbCreateParams params) {
sfctbService.createForTransfer(params); sfctbService.createForTransfer(params);
} }
@ApiOperation("工序完工")
@PostMapping("/sfctb/processTransfer")
public void processTransfer(@RequestBody SfctbProcessParams params) {
sfctbService.processTransfer(params);
}
@ApiOperation("入库单创建") @ApiOperation("入库单创建")
@PostMapping("/sfctb/createforstorage") @PostMapping("/sfctb/createforstorage")
public void createForStorage(@RequestBody SfctbCreateParams params) { public void createForStorage(@RequestBody SfctbCreateParams params) {
......
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* <p>Title: SfctbTranCreateParams</p>
* <p>Description: 录入转移单参数</p>
*
* @author xi.feng
* @version V1.0
* @date 2021/10/28
*/
@Data
public class SfctbProcessParams {
@ApiModelProperty("转移单别")
private String tb001="D20";
@ApiModelProperty("移出地")
private String tb005;
@ApiModelProperty("移出地名称")
private String tb006;
@ApiModelProperty("移入地")
private String tb008;
@ApiModelProperty("移入地名称")
private String tb009;
@ApiModelProperty("工单单别")
private String tc004;
@ApiModelProperty("工单单号")
private String tc005;
@ApiModelProperty("称出加工顺序")
private String tc006;
@ApiModelProperty("称出加工顺序名称")
private String tc007;
@ApiModelProperty("移入加工顺序")
private String tc008;
@ApiModelProperty("移入加工顺序名称")
private String tc009;
@ApiModelProperty("类型")
private String tc013;
@ApiModelProperty("使用人时")
private Integer tc020;
@ApiModelProperty("使用机时")
private Integer tc021;
@ApiModelProperty("批号")
private String tc032;
@ApiModelProperty("转移数量")
private BigDecimal tc036;
}
...@@ -180,6 +180,125 @@ public class SfctbService { ...@@ -180,6 +180,125 @@ public class SfctbService {
// tcd02 // tcd02
sfctc.setTc064(mocta.getTa083()); // 项目编号 sfctc.setTc064(mocta.getTa083()); // 项目编号
sfctbDao.save(sfctb);
sfctcDao.save(sfctc);
} /**
* 录入转移单
* @param params 录入转移单参数
*/
@Transactional
public void processTransfer(SfctbProcessParams params) {
String currentDate = DateUtil.currentDateString();
Mocta mocta = moctaDao.findById(new MoctaId(params.getTc004(), params.getTc005()))
//.filter(i->i.getCompany().trim().equals(currentActor.getCompany().trim()))
.orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("未找到工单")));
Invmb invmb = invmbDao.findById(mocta.getTa006())
//.filter(i->i.getCompany().trim().equals(currentActor.getCompany().trim()))
.orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("未找到品号")));
Cmsma cmsma = cmsmaDao.findAll().stream()
.findFirst()
.orElseThrow(() -> new TopsunitException(MessageUtils.getMessage("未设置共享参数设置挡")));
Optional<Cmsmg> cmsmg = cmsmgDao.findFirstByMg001OrderByMg002Desc("RMB");
String tc039 = "0";
Sfctb sfctb = new Sfctb();
sfctb.setTb001(params.getTb001()); // 转移单别
sfctb.setTb002(getNewTG002()); // 转移单号
sfctb.setTb003(currentDate); // 转移日期
sfctb.setTb004("1"); // 移出类别
sfctb.setTb005(params.getTb005()); // 移出地
sfctb.setTb006(params.getTb006()); // 移出地名称
sfctb.setTb007("1"); // 移入类别
sfctb.setTb008(params.getTb008()); // 移入地
sfctb.setTb009(params.getTb009()); // 移入地名称
sfctb.setTb010("01"); // 工厂编号
sfctb.setTb011(0); // 打印次数
sfctb.setTb012("N"); // 更新码
sfctb.setTb013("N"); // 审核码
// tb014
sfctb.setTb015(currentDate); // 单据日期
// tb016
sfctb.setTb017("N"); // 签核状态码
sfctb.setTb018(0); // 传送次数
sfctb.setTb019("2"); // 税种
sfctb.setTb020(cmsma.getMa004()); // 税率
sfctb.setTb021("RMB"); // 币种
sfctb.setTb022(cmsmg.map(Cmsmg::getMg003).orElse(BigDecimal.ONE)); // 汇率
sfctb.setTb023(null); // 移出部门
sfctb.setTb024(null); // 移入部门
// tb025
// tb026
// tb027
// tb029
// tb030
sfctb.setTb031(mocta.getTa083()); // 项目编号
Sfctc sfctc = new Sfctc();
sfctc.setTc001(sfctb.getTb001()); // 转移单单别
sfctc.setTc002(sfctb.getTb002()); // 转移单单号
sfctc.setTc003("0001"); // 序号
sfctc.setTc004(mocta.getTa001()); // 工单单别
sfctc.setTc005(mocta.getTa002()); // 工单单号
sfctc.setTc006(params.getTc006()); // 移出加工顺序
sfctc.setTc007(params.getTc007()); // 移出工艺
sfctc.setTc008(params.getTc008()); // 移入加工顺序
sfctc.setTc009(params.getTc009()); // 移入工艺
sfctc.setTc010(invmb.getMb004()); // 单位
// tc011
sfctc.setTc012("PCS"); // 计价单位
sfctc.setTc013(params.getTc013()); // 类型
sfctc.setTc014(tc039.equals("0") ? params.getTc036() : BigDecimal.ZERO);
sfctc.setTc015(sfctc.getTc014());
// tc016
sfctc.setTc017(BigDecimal.ZERO); // 委外单价
sfctc.setTc018(sfctb.getTb004().trim().equals("2")? sfctc.getTc015().multiply(sfctc.getTc017()) : BigDecimal.ZERO); // 加工金额
// tc019
sfctc.setTc020(params.getTc020()); // 使用人时
sfctc.setTc021(params.getTc021()); // 使用机时
sfctc.setTc022("N"); // 审核码
sfctc.setTc023(params.getTb006()); // 移出地
sfctc.setTc024(currentDate); // 预交货日期
// tc025
sfctc.setTc026("N"); // 结束
sfctc.setTc027("N"); // 超期码
// tc028
// tc029
// tc030
// tc031
sfctc.setTc032("********************"); // 批号
// tc033
// tc034
sfctc.setTc035("N"); // 急料
sfctc.setTc036(params.getTc036()); // 转移数量
// tc037
sfctc.setTc038(currentDate); // 验收日期
sfctc.setTc039(tc039); // 检验状态
// tc040
sfctc.setTc041(params.getTb009()); // 移入地
// tc042
// tc043
// tc044
// tc045
// tc046
sfctc.setTc047(mocta.getTa006()); // 产品品号
sfctc.setTc048(mocta.getTa034()); // 产品品名
sfctc.setTc049(mocta.getTa035()); // 产品规格
// tc051
// tc052
// tc053
sfctc.setTc054("N"); // 报废码
// tc055
sfctc.setTc056("##########");
// tc057
sfctc.setTc058(currentDate); // 生产日期
// tc059
// tc060
// tc061
// tc062
// tc063
sfctc.setTcd01(currentActor.getActorStr()); // 员工编号
// tcd02
sfctc.setTc064(mocta.getTa083()); // 项目编号
sfctbDao.save(sfctb); sfctbDao.save(sfctb);
sfctcDao.save(sfctc); sfctcDao.save(sfctc);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment